{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Predicting Stock Movement with Random Forest\n",
    "\n",
    "GitHub For this Paper can be found here: https://github.com/LuckysonKhaidem/StockMarketPedicition\n",
    "\n",
    "Random Forest is a machine learning ensemble method that is widely used because of it's flexibility, simplicity, and often quality results. In this tutorial, we will use the Random Forest algorithim to build a classification model that will help us predict whether a stock will close up or down based on range of technical indicators.\n",
    "\n",
    "## What is Random Forest?\n",
    "Now, up above I gave you a pretty simple definition of what Random Forest is. However, I think it's important to delve in more detail about it before we start coding our model. Now in short, Random Forests is a supervised machine learning algorithim that uses multiple decision trees in aggregate to help make more stable and accurate predictions.\n",
    "\n",
    "After reading that you're probably going, \"Well you answered one question but left me with a few more.\" Let's go over some of those questions.\n",
    "\n",
    "### What are Decision Trees?\n",
    "Decision Trees are the fundamental building blocks of Random Forest. In essence, Decision Trees is flowlike chart structure where each node of the tree is used to test a particular attribute of the object. For example, imagine I have a person which will represent our object. We then test certain attributes of this person object. For example, one test would be whether they are male or female. The test will represent a \"Decision Node\" in our tree, and each of the possible outcomes \"Male\" or \"Female\" will represent a leaf node.The first \"Decision Node\" in our Decision Tree will be our \"Root Node\"\n",
    "\n",
    "- **Root Node:** Represents entire population or sample and this further gets divided into two or more homogeneous sets. Our starting point.\n",
    "- **Splitting:** The process of dividing a node into two or more sub-nodes, for example we split on gender.\n",
    "- **Decision Node:** When a sub-node splits into further sub-nodes, then it is called decision node.\n",
    "- **Leaf/Terminal Node:** Nodes do not split is called Leaf or Terminal node.\n",
    "- **Pruning:** When we remove sub-nodes of a decision node, this process is called pruning. You can say opposite process of splitting.\n",
    "- **Branch/Sub-Tree:** A sub section of entire tree is called branch or sub-tree.\n",
    "- **Parent and Child Node:** A node, which is divided into sub-nodes is called parent node of sub-nodes whereas sub-nodes are the child of parent node.\n",
    "\n",
    "### What is Ensemble Learning?\n",
    "An Ensemble Learning model is a model in which decisions are used from MULTIPLE MODELS to improve the overall performance of the model. The old idea that 2 minds are better than 1, prefectly summarizes ensemble learning. We use the results of multiple models to get a better idea of what the true answer is. Our Random Forest algorithim uses Bagging to help improve performance.\n",
    "\n",
    "### Why use Random Forest?\n",
    "Now, when you read the definition about decision trees you may be thinking, \"That sounds like a really simple and intuitive model. Why would we not just use decision trees?\". Well, it boils down to the following few points:\n",
    "\n",
    "1. Instability: Even small changes to the input data can have dramatic changes to the overall strucutre of the decision tree.\n",
    "2. They are often relatively inaccurate. Many other predictors perform better with similar data.\n",
    "3. For data including categorical variables with different number of levels, information gain in decision trees is biased in favor of those attributes with more levels.\n",
    "4. Calculations can get very complex, particularly if many values are uncertain and/or if many outcomes are linked.\n",
    "\n",
    "These are some of the reasons it's preferable to use Random Forest because we will see that it helps overcome some of the weaknesses of Decision Trees. Now, as with anything, there is no perfect model. Just because something has weaknesses means it's worthless it just means we have to understand those weaknesses and keep eye out for them as we use them.\n",
    "\n",
    "### What is Supervised Learning?\n",
    "In machine learning, we have two categories of learning. Supervised learning and unsupervised learning. With unsupervised learning, we don't supervise the model and instead allow it to discover information on it's own. We do this by providing an \"UNLABELED\" data set that doesn't tell the model what category or value is the \"correct\" answer.\n",
    "\n",
    "With supervised learning, we provide the model with a \"LABELED\" data set which tells the model what the \"correct\" value it should be. Random Forest, is an example of a supervised learning algorithim because we provide the model a labeled data set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Import libraries\n",
    "import os\n",
    "import sys\n",
    "import requests\n",
    "\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.model_selection import RandomizedSearchCV\n",
    "from sklearn.metrics import plot_roc_curve\n",
    "from sklearn.metrics import accuracy_score, classification_report\n",
    "\n",
    "from config import ACCOUNT_NUMBER, ACCOUNT_PASSWORD, CONSUMER_ID, REDIRECT_URI"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Data Preprocessing: Loading the TD API Library\n",
    "\n",
    "For those of you who watched my series on building a Python API Client library for TD Ameritrade, here is a chance to put that library to use. I want to collect some price data on a few stocks. Let's use the TD Library to do that. First, because it's not an installed library on my system, I'll need to add the location of the library to my system path.\n",
    "\n",
    "Define the path to the folder, use the `sys.path.insert` method to insert that path and then load the library as usual."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define path to the TD API folder.\n",
    "path_to_td_folder = r\"PATH_TO_TD_LIBRARY\"\n",
    "\n",
    "# I'll be needing my TD API Client to get some prices, so I'll need to point a path to it.\n",
    "sys.path.insert(0, path_to_td_folder)\n",
    "\n",
    "# import the TDClient, may get an Intellisense error but disregard it.\n",
    "from td.client import TDClient"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Data Preprocessign: Grabbing Historical Price Data\n",
    "\n",
    "I have a few stocks I would like to grab historical daily prices for. What I'll do is create a function that will log me into a new TD API Session, loop through a list of ticker symbols, and grab some historical prices using the `Get_Prices` endpoint. After I have my prices, I'll parse the JSON string that's returned so we can get the candle data, store it in.\n",
    "\n",
    "I'll take the final value and store it in a  `Pandas Data Frame` and then save that data frame to a CSV file so we can manually explore the data if need be."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def grab_price_data():\n",
    "\n",
    "    # Create a new session\n",
    "    TDSession = TDClient(account_number = ACCOUNT_NUMBER,\n",
    "                         account_password = ACCOUNT_PASSWORD,\n",
    "                         consumer_id = CONSUMER_ID,\n",
    "                         redirect_uri = REDIRECT_URI)\n",
    "\n",
    "    # Login to the session\n",
    "    TDSession.login()\n",
    "\n",
    "    # Let's define some tickers we want to get the data for five tickers.\n",
    "\n",
    "    '''\n",
    "        HD   - Home Depot\n",
    "        JPM  - JPMorgan Chase & Co.\n",
    "        IBM  - International Business Machines Corporation\n",
    "        ARWR - Arrowhead Pharmaceuticals, Inc.\n",
    "        COST - Costco Wholesale Corporation\n",
    "    '''\n",
    "\n",
    "    # Define the list of tickers\n",
    "    tickers_list = ['JPM', 'COST', 'IBM', 'HD', 'ARWR']\n",
    "\n",
    "    # I need to store multiple result sets.\n",
    "    full_price_history = []\n",
    "\n",
    "    for ticker in tickers_list:\n",
    "\n",
    "        # Grab the daily price history for 1 year\n",
    "        price_history = TDSession.get_price_history(symbol = ticker, \n",
    "                                                    periodType = 'year', \n",
    "                                                    period = 2, \n",
    "                                                    frequency = 1, \n",
    "                                                    frequencyType = 'daily', \n",
    "                                                    needExtendedHoursData = False)\n",
    "\n",
    "        # grab just the candles, and add them to the list.\n",
    "        for candle in price_history['candles']:\n",
    "            candle['symbol'] = price_history['symbol']\n",
    "            full_price_history.append(candle)\n",
    "\n",
    "    # dump the data to a CSV file, don't have an index column\n",
    "    price_data = pd.DataFrame(full_price_history).to_csv('price_data.csv', index_label = False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Data Preprocessing: Load the Data\n",
    "This portion is a little unnecessary because you take the function up above, and it will return the `price_data` data frame and use that. However, if you don't want to go through the process of pulling the data again. What we can do is load the CSV file we used previously. In this portion, I check if the `price_data.csv` file exists in the directory, and if it does, I load it. Otherwise, I call the `get_price_data` and grab the data again.\n",
    "\n",
    "Finally, I print the `price_data` data frame to verify the data was loaded. `YOU WILL NEED TO RUN THE FUNCTION EVERY DAY TO GET THE LATEST PRICE DATA.`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>close</th>\n      <th>datetime</th>\n      <th>high</th>\n      <th>low</th>\n      <th>open</th>\n      <th>symbol</th>\n      <th>volume</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>105.51</td>\n      <td>1513144800000</td>\n      <td>107.11</td>\n      <td>105.48</td>\n      <td>106.70</td>\n      <td>JPM</td>\n      <td>15020293</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>104.66</td>\n      <td>1513231200000</td>\n      <td>106.45</td>\n      <td>104.64</td>\n      <td>106.12</td>\n      <td>JPM</td>\n      <td>13034232</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>106.14</td>\n      <td>1513317600000</td>\n      <td>106.52</td>\n      <td>105.20</td>\n      <td>105.79</td>\n      <td>JPM</td>\n      <td>29350598</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>106.96</td>\n      <td>1513576800000</td>\n      <td>107.63</td>\n      <td>106.48</td>\n      <td>107.19</td>\n      <td>JPM</td>\n      <td>12713148</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>106.51</td>\n      <td>1513663200000</td>\n      <td>107.49</td>\n      <td>106.44</td>\n      <td>107.35</td>\n      <td>JPM</td>\n      <td>12149937</td>\n    </tr>\n  </tbody>\n</table>\n</div>",
      "text/plain": "    close       datetime    high     low    open symbol    volume\n0  105.51  1513144800000  107.11  105.48  106.70    JPM  15020293\n1  104.66  1513231200000  106.45  104.64  106.12    JPM  13034232\n2  106.14  1513317600000  106.52  105.20  105.79    JPM  29350598\n3  106.96  1513576800000  107.63  106.48  107.19    JPM  12713148\n4  106.51  1513663200000  107.49  106.44  107.35    JPM  12149937"
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "if os.path.exists('price_data.csv'):\n",
    "\n",
    "    # Load the data\n",
    "    price_data = pd.read_csv('price_data.csv')\n",
    "\n",
    "else:\n",
    "\n",
    "    # Grab the data and store it.\n",
    "    grab_price_data()\n",
    "\n",
    "    # Load the data\n",
    "    price_data = pd.read_csv('price_data.csv')\n",
    "\n",
    "# Display the head before moving on.\n",
    "price_data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "With the data now loaded, we can transform so we can calculate some of our trading indicators. The first thing we need to do is sort the data because we have multiple ticker symbols inside of our data frame. Take the data frame and call the `sort_values` method and specify the columns you wish to sort by using the `by` argument. In our case, we will be using a list of column names to sort by. The first sort is by the `symbol` column, and the second sort is by the `datetime` column.\n",
    "\n",
    "Once we've sorted the data, we need to calculate the change in price from one period to the next. To do this, we will use the `diff()` method. Grab the `close` column and call the `diff()` method. The `diff()` method will calculate the difference from one row to the next."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [],
   "source": [
    "# I Just need the Close\n",
    "price_data = price_data[['symbol','datetime','close','high','low','open','volume']]\n",
    "\n",
    "\n",
    "'''\n",
    "    First, for average investors, the return of an asset is a complete and scale–free \n",
    "    summary of the investment opportunity. Second, return series are easier to \n",
    "    handle than prices series as they have more attractive statistical properties\n",
    "'''\n",
    "\n",
    "\n",
    "# sort the values by symbol and then date\n",
    "price_data.sort_values(by = ['symbol','datetime'], inplace = True)\n",
    "\n",
    "# calculate the change in price\n",
    "price_data['change_in_price'] = price_data['close'].diff()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Data Preprocessing: Ticker Symbol\n",
    "Okay, so we've created our `change_in_price` column, but we need to do an extra step. Technically, each row where the ticker symbol changes are incorrect because it's using the price from a different ticker. That means we need to have the first row of each ticker symbol be `Nan` for the `change_in_price` column. To do this, we need to break out into steps.\n",
    "\n",
    "Step 1: Identify the rows where the ticker symbol changes. If we use the `shift()` method and shift every row down by one, the rows where unshifted column DOES NOT EQUAL the shifted column is where the ticker changed. We will store these values in a variable called `mask`.\n",
    "\n",
    "Step 2: Change those rows to `NaN` values. We can use the `numpy.where()` method to test our series. The test is simple, wherever the `mask` variable equals `True`, in other words, wherever the ticker symbol is different, set the `change_in_price` column to `np.nan`.\n",
    "\n",
    "After doing that, we can filter those `NaN` values; we should only have 5."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>symbol</th>\n      <th>datetime</th>\n      <th>close</th>\n      <th>high</th>\n      <th>low</th>\n      <th>open</th>\n      <th>volume</th>\n      <th>change_in_price</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>2016</th>\n      <td>ARWR</td>\n      <td>1513144800000</td>\n      <td>3.40</td>\n      <td>3.41</td>\n      <td>3.01</td>\n      <td>3.30</td>\n      <td>2037395</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>504</th>\n      <td>COST</td>\n      <td>1513144800000</td>\n      <td>188.28</td>\n      <td>190.12</td>\n      <td>187.80</td>\n      <td>188.53</td>\n      <td>3062856</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>1512</th>\n      <td>HD</td>\n      <td>1513144800000</td>\n      <td>183.03</td>\n      <td>183.67</td>\n      <td>182.00</td>\n      <td>182.01</td>\n      <td>5177363</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>1008</th>\n      <td>IBM</td>\n      <td>1513144800000</td>\n      <td>153.91</td>\n      <td>156.73</td>\n      <td>153.89</td>\n      <td>156.60</td>\n      <td>5661618</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>0</th>\n      <td>JPM</td>\n      <td>1513144800000</td>\n      <td>105.51</td>\n      <td>107.11</td>\n      <td>105.48</td>\n      <td>106.70</td>\n      <td>15020293</td>\n      <td>NaN</td>\n    </tr>\n  </tbody>\n</table>\n</div>",
      "text/plain": "     symbol       datetime   close    high     low    open    volume  \\\n2016   ARWR  1513144800000    3.40    3.41    3.01    3.30   2037395   \n504    COST  1513144800000  188.28  190.12  187.80  188.53   3062856   \n1512     HD  1513144800000  183.03  183.67  182.00  182.01   5177363   \n1008    IBM  1513144800000  153.91  156.73  153.89  156.60   5661618   \n0       JPM  1513144800000  105.51  107.11  105.48  106.70  15020293   \n\n      change_in_price  \n2016              NaN  \n504               NaN  \n1512              NaN  \n1008              NaN  \n0                 NaN  "
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# identify rows where the symbol changes\n",
    "mask = price_data['symbol'] != price_data['symbol'].shift(1)\n",
    "\n",
    "# For those rows, let's make the value null\n",
    "price_data['change_in_price'] = np.where(mask == True, np.nan, price_data['change_in_price'])\n",
    "\n",
    "# print the rows that have a null value, should only be 5\n",
    "price_data[price_data.isna().any(axis = 1)]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Data Preprocessing: Smoothing the Data (OPTIONAL)\n",
    "\n",
    "***\n",
    "**This part is optional, in the example below I will not be doing any smoothing of the data this is simply to give you the code necessary to reproduce certain results in the paper.**\n",
    "***\n",
    "\n",
    "In the paper, they test the model using different windows. For example, they make predictions 30 days out, 60 days out and 90 days out. To make this type of prediction, we have to transform the data so that when we pass it through the model it will be able to make those predictions that far out. The transformation they use is smoothing factor that is defined by the following:\n",
    "\n",
    "**Formula**:\n",
    "\n",
    "\\begin{align}\n",
    "\\ S_{0} = Y_{0}\n",
    "\\\\\n",
    "\\end{align}\n",
    "\n",
    "\\begin{align}\n",
    "\\ \\text{for }t > 0\\text{, } S_{t} = \\alpha * Y_{t} + ( 1 - \\alpha ) * S_{t-1}\n",
    "\\\n",
    "\\end{align}\n",
    "\n",
    "where α is the smoothing factor and 0 < α < 1. Larger values of α reduce the level of smoothing. When α = 1, the smoothed statistic becomes equal to the actual observation. The goal of smoothing it remove the randomess and noise from our price data. In other words, we don't get a spiky up and down graph but instea a smoother one. Additionally,this will help the model to more easily identify long-term trends.\n",
    "\n",
    "Here is how to calculate the smoothed version of the prices using `pandas`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>symbol</th>\n      <th>datetime</th>\n      <th>close</th>\n      <th>low</th>\n      <th>high</th>\n      <th>open</th>\n      <th>volume</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>2016</th>\n      <td>ARWR</td>\n      <td>1513144800000</td>\n      <td>3.400000</td>\n      <td>3.010000</td>\n      <td>3.410000</td>\n      <td>3.300000</td>\n      <td>2.037395e+06</td>\n    </tr>\n    <tr>\n      <th>2017</th>\n      <td>ARWR</td>\n      <td>1513231200000</td>\n      <td>3.270833</td>\n      <td>3.030667</td>\n      <td>3.415167</td>\n      <td>3.356833</td>\n      <td>1.864160e+06</td>\n    </tr>\n    <tr>\n      <th>2018</th>\n      <td>ARWR</td>\n      <td>1513317600000</td>\n      <td>3.224284</td>\n      <td>3.048219</td>\n      <td>3.338612</td>\n      <td>3.297475</td>\n      <td>1.665444e+06</td>\n    </tr>\n    <tr>\n      <th>2019</th>\n      <td>ARWR</td>\n      <td>1513576800000</td>\n      <td>3.225859</td>\n      <td>3.073508</td>\n      <td>3.354149</td>\n      <td>3.256840</td>\n      <td>1.552160e+06</td>\n    </tr>\n    <tr>\n      <th>2020</th>\n      <td>ARWR</td>\n      <td>1513663200000</td>\n      <td>3.233627</td>\n      <td>3.108454</td>\n      <td>3.360030</td>\n      <td>3.255284</td>\n      <td>1.455788e+06</td>\n    </tr>\n    <tr>\n      <th>2021</th>\n      <td>ARWR</td>\n      <td>1513749600000</td>\n      <td>3.272044</td>\n      <td>3.140058</td>\n      <td>3.404042</td>\n      <td>3.262076</td>\n      <td>1.440693e+06</td>\n    </tr>\n    <tr>\n      <th>2022</th>\n      <td>ARWR</td>\n      <td>1513836000000</td>\n      <td>3.290716</td>\n      <td>3.179828</td>\n      <td>3.427522</td>\n      <td>3.285931</td>\n      <td>1.382798e+06</td>\n    </tr>\n    <tr>\n      <th>2023</th>\n      <td>ARWR</td>\n      <td>1513922400000</td>\n      <td>3.356139</td>\n      <td>3.217928</td>\n      <td>3.489808</td>\n      <td>3.311531</td>\n      <td>1.478588e+06</td>\n    </tr>\n    <tr>\n      <th>2024</th>\n      <td>ARWR</td>\n      <td>1514268000000</td>\n      <td>3.418161</td>\n      <td>3.275405</td>\n      <td>3.542728</td>\n      <td>3.367064</td>\n      <td>1.417962e+06</td>\n    </tr>\n    <tr>\n      <th>2025</th>\n      <td>ARWR</td>\n      <td>1514354400000</td>\n      <td>3.474078</td>\n      <td>3.339773</td>\n      <td>3.591412</td>\n      <td>3.427103</td>\n      <td>1.396085e+06</td>\n    </tr>\n    <tr>\n      <th>2026</th>\n      <td>ARWR</td>\n      <td>1514440800000</td>\n      <td>3.535627</td>\n      <td>3.404339</td>\n      <td>3.645846</td>\n      <td>3.480831</td>\n      <td>1.360670e+06</td>\n    </tr>\n    <tr>\n      <th>2027</th>\n      <td>ARWR</td>\n      <td>1514527200000</td>\n      <td>3.552538</td>\n      <td>3.433114</td>\n      <td>3.692014</td>\n      <td>3.541641</td>\n      <td>1.361010e+06</td>\n    </tr>\n    <tr>\n      <th>2028</th>\n      <td>ARWR</td>\n      <td>1514872800000</td>\n      <td>3.571172</td>\n      <td>3.448346</td>\n      <td>3.707368</td>\n      <td>3.558150</td>\n      <td>1.296174e+06</td>\n    </tr>\n    <tr>\n      <th>2029</th>\n      <td>ARWR</td>\n      <td>1514959200000</td>\n      <td>3.684794</td>\n      <td>3.482539</td>\n      <td>3.832025</td>\n      <td>3.582797</td>\n      <td>1.782978e+06</td>\n    </tr>\n    <tr>\n      <th>2030</th>\n      <td>ARWR</td>\n      <td>1515045600000</td>\n      <td>3.803693</td>\n      <td>3.586362</td>\n      <td>3.964472</td>\n      <td>3.684553</td>\n      <td>1.948187e+06</td>\n    </tr>\n    <tr>\n      <th>2031</th>\n      <td>ARWR</td>\n      <td>1515132000000</td>\n      <td>3.908565</td>\n      <td>3.691955</td>\n      <td>4.088937</td>\n      <td>3.800158</td>\n      <td>1.980648e+06</td>\n    </tr>\n    <tr>\n      <th>2032</th>\n      <td>ARWR</td>\n      <td>1515391200000</td>\n      <td>3.969586</td>\n      <td>3.756458</td>\n      <td>4.166095</td>\n      <td>3.902885</td>\n      <td>2.045232e+06</td>\n    </tr>\n    <tr>\n      <th>2033</th>\n      <td>ARWR</td>\n      <td>1515477600000</td>\n      <td>4.029623</td>\n      <td>3.820938</td>\n      <td>4.233838</td>\n      <td>3.965387</td>\n      <td>1.988483e+06</td>\n    </tr>\n    <tr>\n      <th>2034</th>\n      <td>ARWR</td>\n      <td>1515564000000</td>\n      <td>4.062886</td>\n      <td>3.864860</td>\n      <td>4.276602</td>\n      <td>4.019687</td>\n      <td>1.986494e+06</td>\n    </tr>\n    <tr>\n      <th>2035</th>\n      <td>ARWR</td>\n      <td>1515650400000</td>\n      <td>4.148476</td>\n      <td>3.909108</td>\n      <td>4.381137</td>\n      <td>4.056504</td>\n      <td>2.238825e+06</td>\n    </tr>\n    <tr>\n      <th>2036</th>\n      <td>ARWR</td>\n      <td>1515736800000</td>\n      <td>4.283027</td>\n      <td>4.003416</td>\n      <td>4.541146</td>\n      <td>4.151840</td>\n      <td>2.676015e+06</td>\n    </tr>\n    <tr>\n      <th>2037</th>\n      <td>ARWR</td>\n      <td>1516082400000</td>\n      <td>4.393454</td>\n      <td>4.112477</td>\n      <td>4.655923</td>\n      <td>4.298422</td>\n      <td>2.696666e+06</td>\n    </tr>\n    <tr>\n      <th>2038</th>\n      <td>ARWR</td>\n      <td>1516168800000</td>\n      <td>4.502574</td>\n      <td>4.215919</td>\n      <td>4.754969</td>\n      <td>4.404665</td>\n      <td>2.628140e+06</td>\n    </tr>\n    <tr>\n      <th>2039</th>\n      <td>ARWR</td>\n      <td>1516255200000</td>\n      <td>4.600972</td>\n      <td>4.311622</td>\n      <td>4.840242</td>\n      <td>4.485921</td>\n      <td>2.828637e+06</td>\n    </tr>\n    <tr>\n      <th>2040</th>\n      <td>ARWR</td>\n      <td>1516341600000</td>\n      <td>4.735297</td>\n      <td>4.425218</td>\n      <td>4.964286</td>\n      <td>4.592017</td>\n      <td>2.979296e+06</td>\n    </tr>\n    <tr>\n      <th>2041</th>\n      <td>ARWR</td>\n      <td>1516600800000</td>\n      <td>4.864945</td>\n      <td>4.569759</td>\n      <td>5.104199</td>\n      <td>4.726624</td>\n      <td>2.984318e+06</td>\n    </tr>\n    <tr>\n      <th>2042</th>\n      <td>ARWR</td>\n      <td>1516687200000</td>\n      <td>4.974304</td>\n      <td>4.698839</td>\n      <td>5.219025</td>\n      <td>4.860583</td>\n      <td>2.929094e+06</td>\n    </tr>\n    <tr>\n      <th>2043</th>\n      <td>ARWR</td>\n      <td>1516773600000</td>\n      <td>5.060967</td>\n      <td>4.785538</td>\n      <td>5.311432</td>\n      <td>4.971185</td>\n      <td>2.863523e+06</td>\n    </tr>\n    <tr>\n      <th>2044</th>\n      <td>ARWR</td>\n      <td>1516860000000</td>\n      <td>5.153659</td>\n      <td>4.881656</td>\n      <td>5.392022</td>\n      <td>5.063107</td>\n      <td>2.720783e+06</td>\n    </tr>\n    <tr>\n      <th>2045</th>\n      <td>ARWR</td>\n      <td>1516946400000</td>\n      <td>5.225753</td>\n      <td>4.973297</td>\n      <td>5.463493</td>\n      <td>5.154640</td>\n      <td>2.575161e+06</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th>474</th>\n      <td>JPM</td>\n      <td>1572584400000</td>\n      <td>120.753003</td>\n      <td>119.807975</td>\n      <td>121.516161</td>\n      <td>120.467077</td>\n      <td>1.123814e+07</td>\n    </tr>\n    <tr>\n      <th>475</th>\n      <td>JPM</td>\n      <td>1572847200000</td>\n      <td>121.273454</td>\n      <td>120.372628</td>\n      <td>122.026086</td>\n      <td>121.022750</td>\n      <td>1.110406e+07</td>\n    </tr>\n    <tr>\n      <th>476</th>\n      <td>JPM</td>\n      <td>1572933600000</td>\n      <td>121.778393</td>\n      <td>120.918911</td>\n      <td>122.559887</td>\n      <td>121.562572</td>\n      <td>1.127461e+07</td>\n    </tr>\n    <tr>\n      <th>477</th>\n      <td>JPM</td>\n      <td>1573020000000</td>\n      <td>122.263658</td>\n      <td>121.413174</td>\n      <td>123.029572</td>\n      <td>122.022406</td>\n      <td>1.127180e+07</td>\n    </tr>\n    <tr>\n      <th>478</th>\n      <td>JPM</td>\n      <td>1573106400000</td>\n      <td>122.762776</td>\n      <td>121.962002</td>\n      <td>123.562503</td>\n      <td>122.564832</td>\n      <td>1.141742e+07</td>\n    </tr>\n    <tr>\n      <th>479</th>\n      <td>JPM</td>\n      <td>1573192800000</td>\n      <td>123.254210</td>\n      <td>122.432195</td>\n      <td>124.003632</td>\n      <td>123.036778</td>\n      <td>1.128044e+07</td>\n    </tr>\n    <tr>\n      <th>480</th>\n      <td>JPM</td>\n      <td>1573452000000</td>\n      <td>123.684261</td>\n      <td>122.878505</td>\n      <td>124.396946</td>\n      <td>123.460212</td>\n      <td>1.111270e+07</td>\n    </tr>\n    <tr>\n      <th>481</th>\n      <td>JPM</td>\n      <td>1573538400000</td>\n      <td>124.037535</td>\n      <td>123.274086</td>\n      <td>124.798433</td>\n      <td>123.858263</td>\n      <td>1.098298e+07</td>\n    </tr>\n    <tr>\n      <th>482</th>\n      <td>JPM</td>\n      <td>1573624800000</td>\n      <td>124.324145</td>\n      <td>123.541564</td>\n      <td>125.057566</td>\n      <td>124.133859</td>\n      <td>1.079686e+07</td>\n    </tr>\n    <tr>\n      <th>483</th>\n      <td>JPM</td>\n      <td>1573711200000</td>\n      <td>124.600007</td>\n      <td>123.802753</td>\n      <td>125.301594</td>\n      <td>124.365223</td>\n      <td>1.064762e+07</td>\n    </tr>\n    <tr>\n      <th>484</th>\n      <td>JPM</td>\n      <td>1573797600000</td>\n      <td>124.918071</td>\n      <td>124.099350</td>\n      <td>125.574395</td>\n      <td>124.679079</td>\n      <td>1.061640e+07</td>\n    </tr>\n    <tr>\n      <th>485</th>\n      <td>JPM</td>\n      <td>1574056800000</td>\n      <td>125.285937</td>\n      <td>124.414876</td>\n      <td>125.901853</td>\n      <td>124.993977</td>\n      <td>1.049615e+07</td>\n    </tr>\n    <tr>\n      <th>486</th>\n      <td>JPM</td>\n      <td>1574143200000</td>\n      <td>125.627490</td>\n      <td>124.786819</td>\n      <td>126.246895</td>\n      <td>125.380817</td>\n      <td>1.038832e+07</td>\n    </tr>\n    <tr>\n      <th>487</th>\n      <td>JPM</td>\n      <td>1574229600000</td>\n      <td>125.885716</td>\n      <td>125.054766</td>\n      <td>126.529031</td>\n      <td>125.698184</td>\n      <td>1.047845e+07</td>\n    </tr>\n    <tr>\n      <th>488</th>\n      <td>JPM</td>\n      <td>1574316000000</td>\n      <td>126.146638</td>\n      <td>125.334459</td>\n      <td>126.799416</td>\n      <td>125.975721</td>\n      <td>1.029955e+07</td>\n    </tr>\n    <tr>\n      <th>489</th>\n      <td>JPM</td>\n      <td>1574402400000</td>\n      <td>126.446210</td>\n      <td>125.641913</td>\n      <td>127.084615</td>\n      <td>126.245029</td>\n      <td>1.016203e+07</td>\n    </tr>\n    <tr>\n      <th>490</th>\n      <td>JPM</td>\n      <td>1574661600000</td>\n      <td>126.771615</td>\n      <td>125.978886</td>\n      <td>127.406253</td>\n      <td>126.567930</td>\n      <td>1.015607e+07</td>\n    </tr>\n    <tr>\n      <th>491</th>\n      <td>JPM</td>\n      <td>1574748000000</td>\n      <td>127.087640</td>\n      <td>126.261365</td>\n      <td>127.691010</td>\n      <td>126.906774</td>\n      <td>1.017786e+07</td>\n    </tr>\n    <tr>\n      <th>492</th>\n      <td>JPM</td>\n      <td>1574834400000</td>\n      <td>127.408438</td>\n      <td>126.609019</td>\n      <td>127.996752</td>\n      <td>127.254078</td>\n      <td>9.947613e+06</td>\n    </tr>\n    <tr>\n      <th>493</th>\n      <td>JPM</td>\n      <td>1575007200000</td>\n      <td>127.689184</td>\n      <td>126.921340</td>\n      <td>128.281477</td>\n      <td>127.551880</td>\n      <td>9.674350e+06</td>\n    </tr>\n    <tr>\n      <th>494</th>\n      <td>JPM</td>\n      <td>1575266400000</td>\n      <td>127.933107</td>\n      <td>127.207060</td>\n      <td>128.569124</td>\n      <td>127.858855</td>\n      <td>9.606513e+06</td>\n    </tr>\n    <tr>\n      <th>495</th>\n      <td>JPM</td>\n      <td>1575352800000</td>\n      <td>128.052262</td>\n      <td>127.295959</td>\n      <td>128.658858</td>\n      <td>127.982155</td>\n      <td>9.673800e+06</td>\n    </tr>\n    <tr>\n      <th>496</th>\n      <td>JPM</td>\n      <td>1575439200000</td>\n      <td>128.328890</td>\n      <td>127.469768</td>\n      <td>128.904738</td>\n      <td>128.136855</td>\n      <td>9.715446e+06</td>\n    </tr>\n    <tr>\n      <th>497</th>\n      <td>JPM</td>\n      <td>1575525600000</td>\n      <td>128.634123</td>\n      <td>127.773654</td>\n      <td>129.188949</td>\n      <td>128.429961</td>\n      <td>9.707215e+06</td>\n    </tr>\n    <tr>\n      <th>498</th>\n      <td>JPM</td>\n      <td>1575612000000</td>\n      <td>129.047405</td>\n      <td>128.217290</td>\n      <td>129.614178</td>\n      <td>128.833834</td>\n      <td>9.737153e+06</td>\n    </tr>\n    <tr>\n      <th>499</th>\n      <td>JPM</td>\n      <td>1575871200000</td>\n      <td>129.393379</td>\n      <td>128.616819</td>\n      <td>129.991328</td>\n      <td>129.207780</td>\n      <td>9.662265e+06</td>\n    </tr>\n    <tr>\n      <th>500</th>\n      <td>JPM</td>\n      <td>1575957600000</td>\n      <td>129.722838</td>\n      <td>128.891863</td>\n      <td>130.299629</td>\n      <td>129.468569</td>\n      <td>9.524893e+06</td>\n    </tr>\n    <tr>\n      <th>501</th>\n      <td>JPM</td>\n      <td>1576044000000</td>\n      <td>130.010397</td>\n      <td>129.222066</td>\n      <td>130.604169</td>\n      <td>129.779629</td>\n      <td>9.491834e+06</td>\n    </tr>\n    <tr>\n      <th>502</th>\n      <td>JPM</td>\n      <td>1576130400000</td>\n      <td>130.527146</td>\n      <td>129.543868</td>\n      <td>131.111642</td>\n      <td>130.083524</td>\n      <td>9.764989e+06</td>\n    </tr>\n    <tr>\n      <th>503</th>\n      <td>JPM</td>\n      <td>1576216800000</td>\n      <td>130.932491</td>\n      <td>129.974586</td>\n      <td>131.609601</td>\n      <td>130.591038</td>\n      <td>9.818534e+06</td>\n    </tr>\n  </tbody>\n</table>\n<p>2520 rows × 7 columns</p>\n</div>",
      "text/plain": "     symbol       datetime       close         low        high        open  \\\n2016   ARWR  1513144800000    3.400000    3.010000    3.410000    3.300000   \n2017   ARWR  1513231200000    3.270833    3.030667    3.415167    3.356833   \n2018   ARWR  1513317600000    3.224284    3.048219    3.338612    3.297475   \n2019   ARWR  1513576800000    3.225859    3.073508    3.354149    3.256840   \n2020   ARWR  1513663200000    3.233627    3.108454    3.360030    3.255284   \n...     ...            ...         ...         ...         ...         ...   \n499     JPM  1575871200000  129.393379  128.616819  129.991328  129.207780   \n500     JPM  1575957600000  129.722838  128.891863  130.299629  129.468569   \n501     JPM  1576044000000  130.010397  129.222066  130.604169  129.779629   \n502     JPM  1576130400000  130.527146  129.543868  131.111642  130.083524   \n503     JPM  1576216800000  130.932491  129.974586  131.609601  130.591038   \n\n            volume  \n2016  2.037395e+06  \n2017  1.864160e+06  \n2018  1.665444e+06  \n2019  1.552160e+06  \n2020  1.455788e+06  \n...            ...  \n499   9.662265e+06  \n500   9.524893e+06  \n501   9.491834e+06  \n502   9.764989e+06  \n503   9.818534e+06  \n\n[2520 rows x 7 columns]"
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# define the number of days out you want to predict\n",
    "days_out = 30\n",
    "\n",
    "# Group by symbol, then apply the rolling function and grab the Min and Max.\n",
    "price_data_smoothed = price_data.groupby(['symbol'])[['close','low','high','open','volume']].transform(lambda x: x.ewm(span = days_out).mean())\n",
    "\n",
    "# Join the smoothed columns with the symbol and datetime column from the old data frame.\n",
    "smoothed_df = pd.concat([price_data[['symbol','datetime']], price_data_smoothed], axis=1, sort=False)\n",
    "\n",
    "smoothed_df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Data Preprocessing: Signal Flag\n",
    "\n",
    "If you chose to do the smoothing process then we need to add an additional column to our data frame. This will serve as `diff` column from the original data frame. However, in this case, we don't want one consecutive day to the next we want the number of days we want to predict out. What we will do is take the window we used up above to calculate our smoothed statistic and use it to calculate our signal flag.\n",
    "\n",
    "We will be using the `numpy.sign()` method which will return a `1.0` if positive, `-1.0` if negative and `0.0` if no change."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>symbol</th>\n      <th>datetime</th>\n      <th>close</th>\n      <th>low</th>\n      <th>high</th>\n      <th>open</th>\n      <th>volume</th>\n      <th>Signal_Flag</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>2016</th>\n      <td>ARWR</td>\n      <td>1513144800000</td>\n      <td>3.400000</td>\n      <td>3.010000</td>\n      <td>3.410000</td>\n      <td>3.300000</td>\n      <td>2.037395e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2017</th>\n      <td>ARWR</td>\n      <td>1513231200000</td>\n      <td>3.270833</td>\n      <td>3.030667</td>\n      <td>3.415167</td>\n      <td>3.356833</td>\n      <td>1.864160e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2018</th>\n      <td>ARWR</td>\n      <td>1513317600000</td>\n      <td>3.224284</td>\n      <td>3.048219</td>\n      <td>3.338612</td>\n      <td>3.297475</td>\n      <td>1.665444e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2019</th>\n      <td>ARWR</td>\n      <td>1513576800000</td>\n      <td>3.225859</td>\n      <td>3.073508</td>\n      <td>3.354149</td>\n      <td>3.256840</td>\n      <td>1.552160e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2020</th>\n      <td>ARWR</td>\n      <td>1513663200000</td>\n      <td>3.233627</td>\n      <td>3.108454</td>\n      <td>3.360030</td>\n      <td>3.255284</td>\n      <td>1.455788e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2021</th>\n      <td>ARWR</td>\n      <td>1513749600000</td>\n      <td>3.272044</td>\n      <td>3.140058</td>\n      <td>3.404042</td>\n      <td>3.262076</td>\n      <td>1.440693e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2022</th>\n      <td>ARWR</td>\n      <td>1513836000000</td>\n      <td>3.290716</td>\n      <td>3.179828</td>\n      <td>3.427522</td>\n      <td>3.285931</td>\n      <td>1.382798e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2023</th>\n      <td>ARWR</td>\n      <td>1513922400000</td>\n      <td>3.356139</td>\n      <td>3.217928</td>\n      <td>3.489808</td>\n      <td>3.311531</td>\n      <td>1.478588e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2024</th>\n      <td>ARWR</td>\n      <td>1514268000000</td>\n      <td>3.418161</td>\n      <td>3.275405</td>\n      <td>3.542728</td>\n      <td>3.367064</td>\n      <td>1.417962e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2025</th>\n      <td>ARWR</td>\n      <td>1514354400000</td>\n      <td>3.474078</td>\n      <td>3.339773</td>\n      <td>3.591412</td>\n      <td>3.427103</td>\n      <td>1.396085e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2026</th>\n      <td>ARWR</td>\n      <td>1514440800000</td>\n      <td>3.535627</td>\n      <td>3.404339</td>\n      <td>3.645846</td>\n      <td>3.480831</td>\n      <td>1.360670e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2027</th>\n      <td>ARWR</td>\n      <td>1514527200000</td>\n      <td>3.552538</td>\n      <td>3.433114</td>\n      <td>3.692014</td>\n      <td>3.541641</td>\n      <td>1.361010e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2028</th>\n      <td>ARWR</td>\n      <td>1514872800000</td>\n      <td>3.571172</td>\n      <td>3.448346</td>\n      <td>3.707368</td>\n      <td>3.558150</td>\n      <td>1.296174e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2029</th>\n      <td>ARWR</td>\n      <td>1514959200000</td>\n      <td>3.684794</td>\n      <td>3.482539</td>\n      <td>3.832025</td>\n      <td>3.582797</td>\n      <td>1.782978e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2030</th>\n      <td>ARWR</td>\n      <td>1515045600000</td>\n      <td>3.803693</td>\n      <td>3.586362</td>\n      <td>3.964472</td>\n      <td>3.684553</td>\n      <td>1.948187e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2031</th>\n      <td>ARWR</td>\n      <td>1515132000000</td>\n      <td>3.908565</td>\n      <td>3.691955</td>\n      <td>4.088937</td>\n      <td>3.800158</td>\n      <td>1.980648e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2032</th>\n      <td>ARWR</td>\n      <td>1515391200000</td>\n      <td>3.969586</td>\n      <td>3.756458</td>\n      <td>4.166095</td>\n      <td>3.902885</td>\n      <td>2.045232e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2033</th>\n      <td>ARWR</td>\n      <td>1515477600000</td>\n      <td>4.029623</td>\n      <td>3.820938</td>\n      <td>4.233838</td>\n      <td>3.965387</td>\n      <td>1.988483e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2034</th>\n      <td>ARWR</td>\n      <td>1515564000000</td>\n      <td>4.062886</td>\n      <td>3.864860</td>\n      <td>4.276602</td>\n      <td>4.019687</td>\n      <td>1.986494e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2035</th>\n      <td>ARWR</td>\n      <td>1515650400000</td>\n      <td>4.148476</td>\n      <td>3.909108</td>\n      <td>4.381137</td>\n      <td>4.056504</td>\n      <td>2.238825e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2036</th>\n      <td>ARWR</td>\n      <td>1515736800000</td>\n      <td>4.283027</td>\n      <td>4.003416</td>\n      <td>4.541146</td>\n      <td>4.151840</td>\n      <td>2.676015e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2037</th>\n      <td>ARWR</td>\n      <td>1516082400000</td>\n      <td>4.393454</td>\n      <td>4.112477</td>\n      <td>4.655923</td>\n      <td>4.298422</td>\n      <td>2.696666e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2038</th>\n      <td>ARWR</td>\n      <td>1516168800000</td>\n      <td>4.502574</td>\n      <td>4.215919</td>\n      <td>4.754969</td>\n      <td>4.404665</td>\n      <td>2.628140e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2039</th>\n      <td>ARWR</td>\n      <td>1516255200000</td>\n      <td>4.600972</td>\n      <td>4.311622</td>\n      <td>4.840242</td>\n      <td>4.485921</td>\n      <td>2.828637e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2040</th>\n      <td>ARWR</td>\n      <td>1516341600000</td>\n      <td>4.735297</td>\n      <td>4.425218</td>\n      <td>4.964286</td>\n      <td>4.592017</td>\n      <td>2.979296e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2041</th>\n      <td>ARWR</td>\n      <td>1516600800000</td>\n      <td>4.864945</td>\n      <td>4.569759</td>\n      <td>5.104199</td>\n      <td>4.726624</td>\n      <td>2.984318e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2042</th>\n      <td>ARWR</td>\n      <td>1516687200000</td>\n      <td>4.974304</td>\n      <td>4.698839</td>\n      <td>5.219025</td>\n      <td>4.860583</td>\n      <td>2.929094e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2043</th>\n      <td>ARWR</td>\n      <td>1516773600000</td>\n      <td>5.060967</td>\n      <td>4.785538</td>\n      <td>5.311432</td>\n      <td>4.971185</td>\n      <td>2.863523e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2044</th>\n      <td>ARWR</td>\n      <td>1516860000000</td>\n      <td>5.153659</td>\n      <td>4.881656</td>\n      <td>5.392022</td>\n      <td>5.063107</td>\n      <td>2.720783e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2045</th>\n      <td>ARWR</td>\n      <td>1516946400000</td>\n      <td>5.225753</td>\n      <td>4.973297</td>\n      <td>5.463493</td>\n      <td>5.154640</td>\n      <td>2.575161e+06</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2046</th>\n      <td>ARWR</td>\n      <td>1517205600000</td>\n      <td>5.295495</td>\n      <td>5.053561</td>\n      <td>5.527124</td>\n      <td>5.234805</td>\n      <td>2.453197e+06</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2047</th>\n      <td>ARWR</td>\n      <td>1517292000000</td>\n      <td>5.357293</td>\n      <td>5.113305</td>\n      <td>5.575997</td>\n      <td>5.298117</td>\n      <td>2.371595e+06</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2048</th>\n      <td>ARWR</td>\n      <td>1517378400000</td>\n      <td>5.416979</td>\n      <td>5.179810</td>\n      <td>5.632149</td>\n      <td>5.365723</td>\n      <td>2.254411e+06</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2049</th>\n      <td>ARWR</td>\n      <td>1517464800000</td>\n      <td>5.469735</td>\n      <td>5.244596</td>\n      <td>5.678415</td>\n      <td>5.422167</td>\n      <td>2.147524e+06</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2050</th>\n      <td>ARWR</td>\n      <td>1517551200000</td>\n      <td>5.500472</td>\n      <td>5.286416</td>\n      <td>5.712104</td>\n      <td>5.465590</td>\n      <td>2.090836e+06</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2051</th>\n      <td>ARWR</td>\n      <td>1517810400000</td>\n      <td>5.496891</td>\n      <td>5.295184</td>\n      <td>5.723306</td>\n      <td>5.490024</td>\n      <td>2.035877e+06</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2052</th>\n      <td>ARWR</td>\n      <td>1517896800000</td>\n      <td>5.511914</td>\n      <td>5.284245</td>\n      <td>5.723778</td>\n      <td>5.480858</td>\n      <td>2.000461e+06</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2053</th>\n      <td>ARWR</td>\n      <td>1517983200000</td>\n      <td>5.536306</td>\n      <td>5.311276</td>\n      <td>5.751095</td>\n      <td>5.495514</td>\n      <td>1.940571e+06</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2054</th>\n      <td>ARWR</td>\n      <td>1518069600000</td>\n      <td>5.544926</td>\n      <td>5.333487</td>\n      <td>5.771228</td>\n      <td>5.525095</td>\n      <td>1.863533e+06</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2055</th>\n      <td>ARWR</td>\n      <td>1518156000000</td>\n      <td>5.548050</td>\n      <td>5.336712</td>\n      <td>5.785701</td>\n      <td>5.540687</td>\n      <td>1.820649e+06</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2056</th>\n      <td>ARWR</td>\n      <td>1518415200000</td>\n      <td>5.531626</td>\n      <td>5.334179</td>\n      <td>5.776339</td>\n      <td>5.532360</td>\n      <td>1.807287e+06</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2057</th>\n      <td>ARWR</td>\n      <td>1518501600000</td>\n      <td>5.506099</td>\n      <td>5.295454</td>\n      <td>5.751862</td>\n      <td>5.509531</td>\n      <td>1.823994e+06</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2058</th>\n      <td>ARWR</td>\n      <td>1518588000000</td>\n      <td>5.503630</td>\n      <td>5.275928</td>\n      <td>5.738054</td>\n      <td>5.481518</td>\n      <td>1.758615e+06</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2059</th>\n      <td>ARWR</td>\n      <td>1518674400000</td>\n      <td>5.525868</td>\n      <td>5.285063</td>\n      <td>5.749089</td>\n      <td>5.483458</td>\n      <td>1.735783e+06</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2060</th>\n      <td>ARWR</td>\n      <td>1518760800000</td>\n      <td>5.528865</td>\n      <td>5.296940</td>\n      <td>5.762729</td>\n      <td>5.508344</td>\n      <td>1.699336e+06</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2061</th>\n      <td>ARWR</td>\n      <td>1519106400000</td>\n      <td>5.537061</td>\n      <td>5.309327</td>\n      <td>5.767281</td>\n      <td>5.506426</td>\n      <td>1.638109e+06</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2062</th>\n      <td>ARWR</td>\n      <td>1519192800000</td>\n      <td>5.537259</td>\n      <td>5.324211</td>\n      <td>5.770162</td>\n      <td>5.516110</td>\n      <td>1.577638e+06</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2063</th>\n      <td>ARWR</td>\n      <td>1519279200000</td>\n      <td>5.537444</td>\n      <td>5.336034</td>\n      <td>5.768134</td>\n      <td>5.523770</td>\n      <td>1.514560e+06</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2064</th>\n      <td>ARWR</td>\n      <td>1519365600000</td>\n      <td>5.555053</td>\n      <td>5.336971</td>\n      <td>5.770808</td>\n      <td>5.529553</td>\n      <td>1.477052e+06</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2065</th>\n      <td>ARWR</td>\n      <td>1519624800000</td>\n      <td>5.622284</td>\n      <td>5.371961</td>\n      <td>5.831633</td>\n      <td>5.551660</td>\n      <td>1.547832e+06</td>\n      <td>1.0</td>\n    </tr>\n  </tbody>\n</table>\n</div>",
      "text/plain": "     symbol       datetime     close       low      high      open  \\\n2016   ARWR  1513144800000  3.400000  3.010000  3.410000  3.300000   \n2017   ARWR  1513231200000  3.270833  3.030667  3.415167  3.356833   \n2018   ARWR  1513317600000  3.224284  3.048219  3.338612  3.297475   \n2019   ARWR  1513576800000  3.225859  3.073508  3.354149  3.256840   \n2020   ARWR  1513663200000  3.233627  3.108454  3.360030  3.255284   \n2021   ARWR  1513749600000  3.272044  3.140058  3.404042  3.262076   \n2022   ARWR  1513836000000  3.290716  3.179828  3.427522  3.285931   \n2023   ARWR  1513922400000  3.356139  3.217928  3.489808  3.311531   \n2024   ARWR  1514268000000  3.418161  3.275405  3.542728  3.367064   \n2025   ARWR  1514354400000  3.474078  3.339773  3.591412  3.427103   \n2026   ARWR  1514440800000  3.535627  3.404339  3.645846  3.480831   \n2027   ARWR  1514527200000  3.552538  3.433114  3.692014  3.541641   \n2028   ARWR  1514872800000  3.571172  3.448346  3.707368  3.558150   \n2029   ARWR  1514959200000  3.684794  3.482539  3.832025  3.582797   \n2030   ARWR  1515045600000  3.803693  3.586362  3.964472  3.684553   \n2031   ARWR  1515132000000  3.908565  3.691955  4.088937  3.800158   \n2032   ARWR  1515391200000  3.969586  3.756458  4.166095  3.902885   \n2033   ARWR  1515477600000  4.029623  3.820938  4.233838  3.965387   \n2034   ARWR  1515564000000  4.062886  3.864860  4.276602  4.019687   \n2035   ARWR  1515650400000  4.148476  3.909108  4.381137  4.056504   \n2036   ARWR  1515736800000  4.283027  4.003416  4.541146  4.151840   \n2037   ARWR  1516082400000  4.393454  4.112477  4.655923  4.298422   \n2038   ARWR  1516168800000  4.502574  4.215919  4.754969  4.404665   \n2039   ARWR  1516255200000  4.600972  4.311622  4.840242  4.485921   \n2040   ARWR  1516341600000  4.735297  4.425218  4.964286  4.592017   \n2041   ARWR  1516600800000  4.864945  4.569759  5.104199  4.726624   \n2042   ARWR  1516687200000  4.974304  4.698839  5.219025  4.860583   \n2043   ARWR  1516773600000  5.060967  4.785538  5.311432  4.971185   \n2044   ARWR  1516860000000  5.153659  4.881656  5.392022  5.063107   \n2045   ARWR  1516946400000  5.225753  4.973297  5.463493  5.154640   \n2046   ARWR  1517205600000  5.295495  5.053561  5.527124  5.234805   \n2047   ARWR  1517292000000  5.357293  5.113305  5.575997  5.298117   \n2048   ARWR  1517378400000  5.416979  5.179810  5.632149  5.365723   \n2049   ARWR  1517464800000  5.469735  5.244596  5.678415  5.422167   \n2050   ARWR  1517551200000  5.500472  5.286416  5.712104  5.465590   \n2051   ARWR  1517810400000  5.496891  5.295184  5.723306  5.490024   \n2052   ARWR  1517896800000  5.511914  5.284245  5.723778  5.480858   \n2053   ARWR  1517983200000  5.536306  5.311276  5.751095  5.495514   \n2054   ARWR  1518069600000  5.544926  5.333487  5.771228  5.525095   \n2055   ARWR  1518156000000  5.548050  5.336712  5.785701  5.540687   \n2056   ARWR  1518415200000  5.531626  5.334179  5.776339  5.532360   \n2057   ARWR  1518501600000  5.506099  5.295454  5.751862  5.509531   \n2058   ARWR  1518588000000  5.503630  5.275928  5.738054  5.481518   \n2059   ARWR  1518674400000  5.525868  5.285063  5.749089  5.483458   \n2060   ARWR  1518760800000  5.528865  5.296940  5.762729  5.508344   \n2061   ARWR  1519106400000  5.537061  5.309327  5.767281  5.506426   \n2062   ARWR  1519192800000  5.537259  5.324211  5.770162  5.516110   \n2063   ARWR  1519279200000  5.537444  5.336034  5.768134  5.523770   \n2064   ARWR  1519365600000  5.555053  5.336971  5.770808  5.529553   \n2065   ARWR  1519624800000  5.622284  5.371961  5.831633  5.551660   \n\n            volume  Signal_Flag  \n2016  2.037395e+06          NaN  \n2017  1.864160e+06          NaN  \n2018  1.665444e+06          NaN  \n2019  1.552160e+06          NaN  \n2020  1.455788e+06          NaN  \n2021  1.440693e+06          NaN  \n2022  1.382798e+06          NaN  \n2023  1.478588e+06          NaN  \n2024  1.417962e+06          NaN  \n2025  1.396085e+06          NaN  \n2026  1.360670e+06          NaN  \n2027  1.361010e+06          NaN  \n2028  1.296174e+06          NaN  \n2029  1.782978e+06          NaN  \n2030  1.948187e+06          NaN  \n2031  1.980648e+06          NaN  \n2032  2.045232e+06          NaN  \n2033  1.988483e+06          NaN  \n2034  1.986494e+06          NaN  \n2035  2.238825e+06          NaN  \n2036  2.676015e+06          NaN  \n2037  2.696666e+06          NaN  \n2038  2.628140e+06          NaN  \n2039  2.828637e+06          NaN  \n2040  2.979296e+06          NaN  \n2041  2.984318e+06          NaN  \n2042  2.929094e+06          NaN  \n2043  2.863523e+06          NaN  \n2044  2.720783e+06          NaN  \n2045  2.575161e+06          NaN  \n2046  2.453197e+06          1.0  \n2047  2.371595e+06          1.0  \n2048  2.254411e+06          1.0  \n2049  2.147524e+06          1.0  \n2050  2.090836e+06          1.0  \n2051  2.035877e+06          1.0  \n2052  2.000461e+06          1.0  \n2053  1.940571e+06          1.0  \n2054  1.863533e+06          1.0  \n2055  1.820649e+06          1.0  \n2056  1.807287e+06          1.0  \n2057  1.823994e+06          1.0  \n2058  1.758615e+06          1.0  \n2059  1.735783e+06          1.0  \n2060  1.699336e+06          1.0  \n2061  1.638109e+06          1.0  \n2062  1.577638e+06          1.0  \n2063  1.514560e+06          1.0  \n2064  1.477052e+06          1.0  \n2065  1.547832e+06          1.0  "
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# define the number of days out you want to predict\n",
    "days_out = 30\n",
    "\n",
    "# create a new column that will house the flag, and for each group calculate the diff compared to 30 days ago. Then use Numpy to define the sign.\n",
    "smoothed_df['Signal_Flag'] = smoothed_df.groupby('symbol')['close'].transform(lambda x : np.sign(x.diff(days_out)))\n",
    "\n",
    "# print the first 50 rows\n",
    "smoothed_df.head(50)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Indicator Calculation: Relative Strength Index (RSI)\n",
    "\n",
    "**Definition From Paper:**\n",
    "\n",
    "RSI is a popular momentum indicator that determines whether the stock is overbought or oversold. A stock is said to be overbought when the demand unjustifiably pushes\n",
    "the price upwards. This condition is generally interpreted as a sign that the stock is overvalued, and the price is likely to go down. A stock is said to be oversold when the price goes down sharply to a level below its true value. This is a result caused due to panic selling. RSI ranges from 0 to 100, and generally, when RSI is above 70, it may indicate that the stock is overbought and when RSI is below 30, it may indicate the stock is oversold.\n",
    "\n",
    "**Formula**:\n",
    "\n",
    "\\begin{align}\n",
    "\\ RSI = 100 - \\frac{100}{1+RS}\n",
    "\\end{align}\n",
    "\n",
    "**Code:**\n",
    "\n",
    "From this point forward, a lot of the calculations will be mostly the same but only differ on the type of calculation we do. Each indicator is calculated using the same few steps:\n",
    "\n",
    "1. Copy the desired columns and store them in new variables.\n",
    "2. Group the columns by the `symbol`, select the column we wish to perform the transformation on and use the `transform` method along with a lambda function to calculate the indicator.\n",
    "3. Store the values in the main data frame.\n",
    "\n",
    "Now there might be a few extra steps in between, but the general idea is the same across each indicator. Now for the RSI indicator, I need to identify the up days and down days. Well, lucky for us, we already have the `change_in_price ` column, so we can use a condition that will set the value to 0 if the price went up for down days and vice versa for up days. After that, I need to make sure I have the absolute values for down days, or else the calculation won't be correct, so I modify that column and then calculate the EMA of both the Up and Down columns. Finally, I calculate the Relative strength metric and pass that through to the RSI calculation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>symbol</th>\n      <th>datetime</th>\n      <th>close</th>\n      <th>high</th>\n      <th>low</th>\n      <th>open</th>\n      <th>volume</th>\n      <th>change_in_price</th>\n      <th>down_days</th>\n      <th>up_days</th>\n      <th>RSI</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>2016</th>\n      <td>ARWR</td>\n      <td>1513144800000</td>\n      <td>3.40</td>\n      <td>3.4100</td>\n      <td>3.0100</td>\n      <td>3.30</td>\n      <td>2037395</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2017</th>\n      <td>ARWR</td>\n      <td>1513231200000</td>\n      <td>3.15</td>\n      <td>3.4200</td>\n      <td>3.0500</td>\n      <td>3.41</td>\n      <td>1702102</td>\n      <td>-0.25</td>\n      <td>0.25</td>\n      <td>0.00</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>2018</th>\n      <td>ARWR</td>\n      <td>1513317600000</td>\n      <td>3.14</td>\n      <td>3.2000</td>\n      <td>3.0800</td>\n      <td>3.19</td>\n      <td>1305646</td>\n      <td>-0.01</td>\n      <td>0.01</td>\n      <td>0.00</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>2019</th>\n      <td>ARWR</td>\n      <td>1513576800000</td>\n      <td>3.23</td>\n      <td>3.3950</td>\n      <td>3.1400</td>\n      <td>3.15</td>\n      <td>1254305</td>\n      <td>0.09</td>\n      <td>0.00</td>\n      <td>0.09</td>\n      <td>31.419705</td>\n    </tr>\n    <tr>\n      <th>2020</th>\n      <td>ARWR</td>\n      <td>1513663200000</td>\n      <td>3.26</td>\n      <td>3.3800</td>\n      <td>3.2271</td>\n      <td>3.25</td>\n      <td>1128590</td>\n      <td>0.03</td>\n      <td>0.00</td>\n      <td>0.03</td>\n      <td>38.813758</td>\n    </tr>\n    <tr>\n      <th>2021</th>\n      <td>ARWR</td>\n      <td>1513749600000</td>\n      <td>3.43</td>\n      <td>3.5850</td>\n      <td>3.2700</td>\n      <td>3.29</td>\n      <td>1378629</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>0.17</td>\n      <td>64.112604</td>\n    </tr>\n    <tr>\n      <th>2022</th>\n      <td>ARWR</td>\n      <td>1513836000000</td>\n      <td>3.38</td>\n      <td>3.5398</td>\n      <td>3.3700</td>\n      <td>3.40</td>\n      <td>1105958</td>\n      <td>-0.05</td>\n      <td>0.05</td>\n      <td>0.00</td>\n      <td>56.223402</td>\n    </tr>\n    <tr>\n      <th>2023</th>\n      <td>ARWR</td>\n      <td>1513922400000</td>\n      <td>3.71</td>\n      <td>3.8267</td>\n      <td>3.4240</td>\n      <td>3.45</td>\n      <td>1996695</td>\n      <td>0.33</td>\n      <td>0.00</td>\n      <td>0.33</td>\n      <td>77.400849</td>\n    </tr>\n    <tr>\n      <th>2024</th>\n      <td>ARWR</td>\n      <td>1514268000000</td>\n      <td>3.79</td>\n      <td>3.8600</td>\n      <td>3.6200</td>\n      <td>3.70</td>\n      <td>1054488</td>\n      <td>0.08</td>\n      <td>0.00</td>\n      <td>0.08</td>\n      <td>80.094431</td>\n    </tr>\n    <tr>\n      <th>2025</th>\n      <td>ARWR</td>\n      <td>1514354400000</td>\n      <td>3.84</td>\n      <td>3.9100</td>\n      <td>3.7610</td>\n      <td>3.82</td>\n      <td>1252920</td>\n      <td>0.05</td>\n      <td>0.00</td>\n      <td>0.05</td>\n      <td>81.669970</td>\n    </tr>\n    <tr>\n      <th>2026</th>\n      <td>ARWR</td>\n      <td>1514440800000</td>\n      <td>3.97</td>\n      <td>4.0300</td>\n      <td>3.8600</td>\n      <td>3.86</td>\n      <td>1110740</td>\n      <td>0.13</td>\n      <td>0.00</td>\n      <td>0.13</td>\n      <td>85.187279</td>\n    </tr>\n    <tr>\n      <th>2027</th>\n      <td>ARWR</td>\n      <td>1514527200000</td>\n      <td>3.68</td>\n      <td>4.0400</td>\n      <td>3.6500</td>\n      <td>4.00</td>\n      <td>1363573</td>\n      <td>-0.29</td>\n      <td>0.29</td>\n      <td>0.00</td>\n      <td>57.022939</td>\n    </tr>\n    <tr>\n      <th>2028</th>\n      <td>ARWR</td>\n      <td>1514872800000</td>\n      <td>3.72</td>\n      <td>3.8300</td>\n      <td>3.5700</td>\n      <td>3.69</td>\n      <td>778349</td>\n      <td>0.04</td>\n      <td>0.00</td>\n      <td>0.04</td>\n      <td>59.171267</td>\n    </tr>\n    <tr>\n      <th>2029</th>\n      <td>ARWR</td>\n      <td>1514959200000</td>\n      <td>4.64</td>\n      <td>4.8800</td>\n      <td>3.7700</td>\n      <td>3.79</td>\n      <td>5875479</td>\n      <td>0.92</td>\n      <td>0.00</td>\n      <td>0.92</td>\n      <td>82.451324</td>\n    </tr>\n    <tr>\n      <th>2030</th>\n      <td>ARWR</td>\n      <td>1515045600000</td>\n      <td>4.85</td>\n      <td>5.1300</td>\n      <td>4.5000</td>\n      <td>4.58</td>\n      <td>3402024</td>\n      <td>0.21</td>\n      <td>0.00</td>\n      <td>0.21</td>\n      <td>84.742603</td>\n    </tr>\n    <tr>\n      <th>2031</th>\n      <td>ARWR</td>\n      <td>1515132000000</td>\n      <td>4.87</td>\n      <td>5.2300</td>\n      <td>4.6600</td>\n      <td>4.86</td>\n      <td>2278246</td>\n      <td>0.02</td>\n      <td>0.00</td>\n      <td>0.02</td>\n      <td>84.958420</td>\n    </tr>\n    <tr>\n      <th>2032</th>\n      <td>ARWR</td>\n      <td>1515391200000</td>\n      <td>4.55</td>\n      <td>4.9000</td>\n      <td>4.3700</td>\n      <td>4.88</td>\n      <td>2659533</td>\n      <td>-0.32</td>\n      <td>0.32</td>\n      <td>0.00</td>\n      <td>67.366376</td>\n    </tr>\n    <tr>\n      <th>2033</th>\n      <td>ARWR</td>\n      <td>1515477600000</td>\n      <td>4.62</td>\n      <td>4.9000</td>\n      <td>4.4550</td>\n      <td>4.58</td>\n      <td>1430439</td>\n      <td>0.07</td>\n      <td>0.00</td>\n      <td>0.07</td>\n      <td>68.987239</td>\n    </tr>\n    <tr>\n      <th>2034</th>\n      <td>ARWR</td>\n      <td>1515564000000</td>\n      <td>4.40</td>\n      <td>4.7100</td>\n      <td>4.3100</td>\n      <td>4.57</td>\n      <td>1966340</td>\n      <td>-0.22</td>\n      <td>0.22</td>\n      <td>0.00</td>\n      <td>58.457990</td>\n    </tr>\n    <tr>\n      <th>2035</th>\n      <td>ARWR</td>\n      <td>1515650400000</td>\n      <td>5.04</td>\n      <td>5.4700</td>\n      <td>4.3700</td>\n      <td>4.44</td>\n      <td>4867172</td>\n      <td>0.64</td>\n      <td>0.00</td>\n      <td>0.64</td>\n      <td>72.530779</td>\n    </tr>\n    <tr>\n      <th>2036</th>\n      <td>ARWR</td>\n      <td>1515736800000</td>\n      <td>5.72</td>\n      <td>6.2500</td>\n      <td>5.0106</td>\n      <td>5.17</td>\n      <td>7345087</td>\n      <td>0.68</td>\n      <td>0.00</td>\n      <td>0.68</td>\n      <td>80.591337</td>\n    </tr>\n    <tr>\n      <th>2037</th>\n      <td>ARWR</td>\n      <td>1516082400000</td>\n      <td>5.60</td>\n      <td>5.9100</td>\n      <td>5.3041</td>\n      <td>5.90</td>\n      <td>2922293</td>\n      <td>-0.12</td>\n      <td>0.12</td>\n      <td>0.00</td>\n      <td>76.047488</td>\n    </tr>\n    <tr>\n      <th>2038</th>\n      <td>ARWR</td>\n      <td>1516168800000</td>\n      <td>5.72</td>\n      <td>5.8600</td>\n      <td>5.3700</td>\n      <td>5.59</td>\n      <td>1863618</td>\n      <td>0.12</td>\n      <td>0.00</td>\n      <td>0.12</td>\n      <td>77.510549</td>\n    </tr>\n    <tr>\n      <th>2039</th>\n      <td>ARWR</td>\n      <td>1516255200000</td>\n      <td>5.72</td>\n      <td>5.8100</td>\n      <td>5.4000</td>\n      <td>5.41</td>\n      <td>5108776</td>\n      <td>0.00</td>\n      <td>0.00</td>\n      <td>0.00</td>\n      <td>77.510549</td>\n    </tr>\n    <tr>\n      <th>2040</th>\n      <td>ARWR</td>\n      <td>1516341600000</td>\n      <td>6.29</td>\n      <td>6.4000</td>\n      <td>5.7400</td>\n      <td>5.82</td>\n      <td>4723066</td>\n      <td>0.57</td>\n      <td>0.00</td>\n      <td>0.57</td>\n      <td>83.777106</td>\n    </tr>\n    <tr>\n      <th>2041</th>\n      <td>ARWR</td>\n      <td>1516600800000</td>\n      <td>6.39</td>\n      <td>6.7500</td>\n      <td>6.2700</td>\n      <td>6.31</td>\n      <td>3043385</td>\n      <td>0.10</td>\n      <td>0.00</td>\n      <td>0.10</td>\n      <td>84.643311</td>\n    </tr>\n    <tr>\n      <th>2042</th>\n      <td>ARWR</td>\n      <td>1516687200000</td>\n      <td>6.28</td>\n      <td>6.5900</td>\n      <td>6.2400</td>\n      <td>6.46</td>\n      <td>2269747</td>\n      <td>-0.11</td>\n      <td>0.11</td>\n      <td>0.00</td>\n      <td>79.271160</td>\n    </tr>\n    <tr>\n      <th>2043</th>\n      <td>ARWR</td>\n      <td>1516773600000</td>\n      <td>6.11</td>\n      <td>6.4300</td>\n      <td>5.8350</td>\n      <td>6.31</td>\n      <td>2069802</td>\n      <td>-0.17</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>71.211614</td>\n    </tr>\n    <tr>\n      <th>2044</th>\n      <td>ARWR</td>\n      <td>1516860000000</td>\n      <td>6.29</td>\n      <td>6.3800</td>\n      <td>6.0600</td>\n      <td>6.19</td>\n      <td>970888</td>\n      <td>0.18</td>\n      <td>0.00</td>\n      <td>0.18</td>\n      <td>74.392408</td>\n    </tr>\n    <tr>\n      <th>2045</th>\n      <td>ARWR</td>\n      <td>1516946400000</td>\n      <td>6.12</td>\n      <td>6.3500</td>\n      <td>6.1100</td>\n      <td>6.29</td>\n      <td>768893</td>\n      <td>-0.17</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>66.397815</td>\n    </tr>\n  </tbody>\n</table>\n</div>",
      "text/plain": "     symbol       datetime  close    high     low  open   volume  \\\n2016   ARWR  1513144800000   3.40  3.4100  3.0100  3.30  2037395   \n2017   ARWR  1513231200000   3.15  3.4200  3.0500  3.41  1702102   \n2018   ARWR  1513317600000   3.14  3.2000  3.0800  3.19  1305646   \n2019   ARWR  1513576800000   3.23  3.3950  3.1400  3.15  1254305   \n2020   ARWR  1513663200000   3.26  3.3800  3.2271  3.25  1128590   \n2021   ARWR  1513749600000   3.43  3.5850  3.2700  3.29  1378629   \n2022   ARWR  1513836000000   3.38  3.5398  3.3700  3.40  1105958   \n2023   ARWR  1513922400000   3.71  3.8267  3.4240  3.45  1996695   \n2024   ARWR  1514268000000   3.79  3.8600  3.6200  3.70  1054488   \n2025   ARWR  1514354400000   3.84  3.9100  3.7610  3.82  1252920   \n2026   ARWR  1514440800000   3.97  4.0300  3.8600  3.86  1110740   \n2027   ARWR  1514527200000   3.68  4.0400  3.6500  4.00  1363573   \n2028   ARWR  1514872800000   3.72  3.8300  3.5700  3.69   778349   \n2029   ARWR  1514959200000   4.64  4.8800  3.7700  3.79  5875479   \n2030   ARWR  1515045600000   4.85  5.1300  4.5000  4.58  3402024   \n2031   ARWR  1515132000000   4.87  5.2300  4.6600  4.86  2278246   \n2032   ARWR  1515391200000   4.55  4.9000  4.3700  4.88  2659533   \n2033   ARWR  1515477600000   4.62  4.9000  4.4550  4.58  1430439   \n2034   ARWR  1515564000000   4.40  4.7100  4.3100  4.57  1966340   \n2035   ARWR  1515650400000   5.04  5.4700  4.3700  4.44  4867172   \n2036   ARWR  1515736800000   5.72  6.2500  5.0106  5.17  7345087   \n2037   ARWR  1516082400000   5.60  5.9100  5.3041  5.90  2922293   \n2038   ARWR  1516168800000   5.72  5.8600  5.3700  5.59  1863618   \n2039   ARWR  1516255200000   5.72  5.8100  5.4000  5.41  5108776   \n2040   ARWR  1516341600000   6.29  6.4000  5.7400  5.82  4723066   \n2041   ARWR  1516600800000   6.39  6.7500  6.2700  6.31  3043385   \n2042   ARWR  1516687200000   6.28  6.5900  6.2400  6.46  2269747   \n2043   ARWR  1516773600000   6.11  6.4300  5.8350  6.31  2069802   \n2044   ARWR  1516860000000   6.29  6.3800  6.0600  6.19   970888   \n2045   ARWR  1516946400000   6.12  6.3500  6.1100  6.29   768893   \n\n      change_in_price  down_days  up_days        RSI  \n2016              NaN        NaN      NaN        NaN  \n2017            -0.25       0.25     0.00   0.000000  \n2018            -0.01       0.01     0.00   0.000000  \n2019             0.09       0.00     0.09  31.419705  \n2020             0.03       0.00     0.03  38.813758  \n2021             0.17       0.00     0.17  64.112604  \n2022            -0.05       0.05     0.00  56.223402  \n2023             0.33       0.00     0.33  77.400849  \n2024             0.08       0.00     0.08  80.094431  \n2025             0.05       0.00     0.05  81.669970  \n2026             0.13       0.00     0.13  85.187279  \n2027            -0.29       0.29     0.00  57.022939  \n2028             0.04       0.00     0.04  59.171267  \n2029             0.92       0.00     0.92  82.451324  \n2030             0.21       0.00     0.21  84.742603  \n2031             0.02       0.00     0.02  84.958420  \n2032            -0.32       0.32     0.00  67.366376  \n2033             0.07       0.00     0.07  68.987239  \n2034            -0.22       0.22     0.00  58.457990  \n2035             0.64       0.00     0.64  72.530779  \n2036             0.68       0.00     0.68  80.591337  \n2037            -0.12       0.12     0.00  76.047488  \n2038             0.12       0.00     0.12  77.510549  \n2039             0.00       0.00     0.00  77.510549  \n2040             0.57       0.00     0.57  83.777106  \n2041             0.10       0.00     0.10  84.643311  \n2042            -0.11       0.11     0.00  79.271160  \n2043            -0.17       0.17     0.00  71.211614  \n2044             0.18       0.00     0.18  74.392408  \n2045            -0.17       0.17     0.00  66.397815  "
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Calculate the 14 day RSI\n",
    "n = 14\n",
    "\n",
    "# First make a copy of the data frame twice\n",
    "up_df, down_df = price_data[['symbol','change_in_price']].copy(), price_data[['symbol','change_in_price']].copy()\n",
    "\n",
    "# For up days, if the change is less than 0 set to 0.\n",
    "up_df.loc['change_in_price'] = up_df.loc[(up_df['change_in_price'] < 0), 'change_in_price'] = 0\n",
    "\n",
    "# For down days, if the change is greater than 0 set to 0.\n",
    "down_df.loc['change_in_price'] = down_df.loc[(down_df['change_in_price'] > 0), 'change_in_price'] = 0\n",
    "\n",
    "# We need change in price to be absolute.\n",
    "down_df['change_in_price'] = down_df['change_in_price'].abs()\n",
    "\n",
    "# Calculate the EWMA (Exponential Weighted Moving Average), meaning older values are given less weight compared to newer values.\n",
    "ewma_up = up_df.groupby('symbol')['change_in_price'].transform(lambda x: x.ewm(span = n).mean())\n",
    "ewma_down = down_df.groupby('symbol')['change_in_price'].transform(lambda x: x.ewm(span = n).mean())\n",
    "\n",
    "# Calculate the Relative Strength\n",
    "relative_strength = ewma_up / ewma_down\n",
    "\n",
    "# Calculate the Relative Strength Index\n",
    "relative_strength_index = 100.0 - (100.0 / (1.0 + relative_strength))\n",
    "\n",
    "# Add the info to the data frame.\n",
    "price_data['down_days'] = down_df['change_in_price']\n",
    "price_data['up_days'] = up_df['change_in_price']\n",
    "price_data['RSI'] = relative_strength_index\n",
    "\n",
    "# Display the head.\n",
    "price_data.head(30)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Indicator Calculation: Stochastic Oscillator\n",
    "\n",
    "**Definition From Paper:**\n",
    "\n",
    "Stochastic Oscillator follows the speed or the momentum of the price. As a rule, momentum changes before the price changes. It measures the level of the closing price relative to the low-high range over a period of time.\n",
    "\n",
    "**Formula:**\n",
    "\n",
    "\\begin{align}\n",
    "\\ K = 100 \\ast  \\frac{(C-L_{14})}{(H_{14}-L_{14})}\n",
    "\\end{align}\n",
    "\n",
    "$\n",
    "\\begin{align}\n",
    "\\ where,\n",
    "\\end{align}\n",
    "$\n",
    "\n",
    "$\n",
    "\\begin{align}\n",
    "\\ C = \\text{Current Closing Price}\n",
    "\\end{align}\n",
    "$\n",
    "\n",
    "$\n",
    "\\begin{align}\n",
    "\\ L_{14} = \\text{Lowest Low over the past 14 days}\n",
    "\\end{align}\n",
    "$\n",
    "\n",
    "$\n",
    "\\begin{align}\n",
    "\\ H_{14} = \\text{Highest High over the past 14 days}\n",
    "\\end{align}\n",
    "$\n",
    "\n",
    "**Code:**\n",
    "\n",
    "The strategy here is pretty much the same; the only difference is the columns we are copying and the lambda function we are applying. For the RSI, we applied an EMA function, but for the Stochastic Oscillator, we use the rolling function. With this function, we specify our window, which in this case is 14 periods, and then specify measurement we want to apply to each window.\n",
    "\n",
    "After we obtained the max and min values, we pass it through our formula and apply the results to the main data frame."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>symbol</th>\n      <th>datetime</th>\n      <th>close</th>\n      <th>high</th>\n      <th>low</th>\n      <th>open</th>\n      <th>volume</th>\n      <th>change_in_price</th>\n      <th>down_days</th>\n      <th>up_days</th>\n      <th>RSI</th>\n      <th>low_14</th>\n      <th>high_14</th>\n      <th>k_percent</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>2016</th>\n      <td>ARWR</td>\n      <td>1513144800000</td>\n      <td>3.40</td>\n      <td>3.4100</td>\n      <td>3.0100</td>\n      <td>3.30</td>\n      <td>2037395</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2017</th>\n      <td>ARWR</td>\n      <td>1513231200000</td>\n      <td>3.15</td>\n      <td>3.4200</td>\n      <td>3.0500</td>\n      <td>3.41</td>\n      <td>1702102</td>\n      <td>-0.25</td>\n      <td>0.25</td>\n      <td>0.00</td>\n      <td>0.000000</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2018</th>\n      <td>ARWR</td>\n      <td>1513317600000</td>\n      <td>3.14</td>\n      <td>3.2000</td>\n      <td>3.0800</td>\n      <td>3.19</td>\n      <td>1305646</td>\n      <td>-0.01</td>\n      <td>0.01</td>\n      <td>0.00</td>\n      <td>0.000000</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2019</th>\n      <td>ARWR</td>\n      <td>1513576800000</td>\n      <td>3.23</td>\n      <td>3.3950</td>\n      <td>3.1400</td>\n      <td>3.15</td>\n      <td>1254305</td>\n      <td>0.09</td>\n      <td>0.00</td>\n      <td>0.09</td>\n      <td>31.419705</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2020</th>\n      <td>ARWR</td>\n      <td>1513663200000</td>\n      <td>3.26</td>\n      <td>3.3800</td>\n      <td>3.2271</td>\n      <td>3.25</td>\n      <td>1128590</td>\n      <td>0.03</td>\n      <td>0.00</td>\n      <td>0.03</td>\n      <td>38.813758</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2021</th>\n      <td>ARWR</td>\n      <td>1513749600000</td>\n      <td>3.43</td>\n      <td>3.5850</td>\n      <td>3.2700</td>\n      <td>3.29</td>\n      <td>1378629</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>0.17</td>\n      <td>64.112604</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2022</th>\n      <td>ARWR</td>\n      <td>1513836000000</td>\n      <td>3.38</td>\n      <td>3.5398</td>\n      <td>3.3700</td>\n      <td>3.40</td>\n      <td>1105958</td>\n      <td>-0.05</td>\n      <td>0.05</td>\n      <td>0.00</td>\n      <td>56.223402</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2023</th>\n      <td>ARWR</td>\n      <td>1513922400000</td>\n      <td>3.71</td>\n      <td>3.8267</td>\n      <td>3.4240</td>\n      <td>3.45</td>\n      <td>1996695</td>\n      <td>0.33</td>\n      <td>0.00</td>\n      <td>0.33</td>\n      <td>77.400849</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2024</th>\n      <td>ARWR</td>\n      <td>1514268000000</td>\n      <td>3.79</td>\n      <td>3.8600</td>\n      <td>3.6200</td>\n      <td>3.70</td>\n      <td>1054488</td>\n      <td>0.08</td>\n      <td>0.00</td>\n      <td>0.08</td>\n      <td>80.094431</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2025</th>\n      <td>ARWR</td>\n      <td>1514354400000</td>\n      <td>3.84</td>\n      <td>3.9100</td>\n      <td>3.7610</td>\n      <td>3.82</td>\n      <td>1252920</td>\n      <td>0.05</td>\n      <td>0.00</td>\n      <td>0.05</td>\n      <td>81.669970</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2026</th>\n      <td>ARWR</td>\n      <td>1514440800000</td>\n      <td>3.97</td>\n      <td>4.0300</td>\n      <td>3.8600</td>\n      <td>3.86</td>\n      <td>1110740</td>\n      <td>0.13</td>\n      <td>0.00</td>\n      <td>0.13</td>\n      <td>85.187279</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2027</th>\n      <td>ARWR</td>\n      <td>1514527200000</td>\n      <td>3.68</td>\n      <td>4.0400</td>\n      <td>3.6500</td>\n      <td>4.00</td>\n      <td>1363573</td>\n      <td>-0.29</td>\n      <td>0.29</td>\n      <td>0.00</td>\n      <td>57.022939</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2028</th>\n      <td>ARWR</td>\n      <td>1514872800000</td>\n      <td>3.72</td>\n      <td>3.8300</td>\n      <td>3.5700</td>\n      <td>3.69</td>\n      <td>778349</td>\n      <td>0.04</td>\n      <td>0.00</td>\n      <td>0.04</td>\n      <td>59.171267</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2029</th>\n      <td>ARWR</td>\n      <td>1514959200000</td>\n      <td>4.64</td>\n      <td>4.8800</td>\n      <td>3.7700</td>\n      <td>3.79</td>\n      <td>5875479</td>\n      <td>0.92</td>\n      <td>0.00</td>\n      <td>0.92</td>\n      <td>82.451324</td>\n      <td>3.0100</td>\n      <td>4.88</td>\n      <td>87.165775</td>\n    </tr>\n    <tr>\n      <th>2030</th>\n      <td>ARWR</td>\n      <td>1515045600000</td>\n      <td>4.85</td>\n      <td>5.1300</td>\n      <td>4.5000</td>\n      <td>4.58</td>\n      <td>3402024</td>\n      <td>0.21</td>\n      <td>0.00</td>\n      <td>0.21</td>\n      <td>84.742603</td>\n      <td>3.0500</td>\n      <td>5.13</td>\n      <td>86.538462</td>\n    </tr>\n    <tr>\n      <th>2031</th>\n      <td>ARWR</td>\n      <td>1515132000000</td>\n      <td>4.87</td>\n      <td>5.2300</td>\n      <td>4.6600</td>\n      <td>4.86</td>\n      <td>2278246</td>\n      <td>0.02</td>\n      <td>0.00</td>\n      <td>0.02</td>\n      <td>84.958420</td>\n      <td>3.0800</td>\n      <td>5.23</td>\n      <td>83.255814</td>\n    </tr>\n    <tr>\n      <th>2032</th>\n      <td>ARWR</td>\n      <td>1515391200000</td>\n      <td>4.55</td>\n      <td>4.9000</td>\n      <td>4.3700</td>\n      <td>4.88</td>\n      <td>2659533</td>\n      <td>-0.32</td>\n      <td>0.32</td>\n      <td>0.00</td>\n      <td>67.366376</td>\n      <td>3.1400</td>\n      <td>5.23</td>\n      <td>67.464115</td>\n    </tr>\n    <tr>\n      <th>2033</th>\n      <td>ARWR</td>\n      <td>1515477600000</td>\n      <td>4.62</td>\n      <td>4.9000</td>\n      <td>4.4550</td>\n      <td>4.58</td>\n      <td>1430439</td>\n      <td>0.07</td>\n      <td>0.00</td>\n      <td>0.07</td>\n      <td>68.987239</td>\n      <td>3.2271</td>\n      <td>5.23</td>\n      <td>69.544161</td>\n    </tr>\n    <tr>\n      <th>2034</th>\n      <td>ARWR</td>\n      <td>1515564000000</td>\n      <td>4.40</td>\n      <td>4.7100</td>\n      <td>4.3100</td>\n      <td>4.57</td>\n      <td>1966340</td>\n      <td>-0.22</td>\n      <td>0.22</td>\n      <td>0.00</td>\n      <td>58.457990</td>\n      <td>3.2700</td>\n      <td>5.23</td>\n      <td>57.653061</td>\n    </tr>\n    <tr>\n      <th>2035</th>\n      <td>ARWR</td>\n      <td>1515650400000</td>\n      <td>5.04</td>\n      <td>5.4700</td>\n      <td>4.3700</td>\n      <td>4.44</td>\n      <td>4867172</td>\n      <td>0.64</td>\n      <td>0.00</td>\n      <td>0.64</td>\n      <td>72.530779</td>\n      <td>3.3700</td>\n      <td>5.47</td>\n      <td>79.523810</td>\n    </tr>\n    <tr>\n      <th>2036</th>\n      <td>ARWR</td>\n      <td>1515736800000</td>\n      <td>5.72</td>\n      <td>6.2500</td>\n      <td>5.0106</td>\n      <td>5.17</td>\n      <td>7345087</td>\n      <td>0.68</td>\n      <td>0.00</td>\n      <td>0.68</td>\n      <td>80.591337</td>\n      <td>3.4240</td>\n      <td>6.25</td>\n      <td>81.245577</td>\n    </tr>\n    <tr>\n      <th>2037</th>\n      <td>ARWR</td>\n      <td>1516082400000</td>\n      <td>5.60</td>\n      <td>5.9100</td>\n      <td>5.3041</td>\n      <td>5.90</td>\n      <td>2922293</td>\n      <td>-0.12</td>\n      <td>0.12</td>\n      <td>0.00</td>\n      <td>76.047488</td>\n      <td>3.5700</td>\n      <td>6.25</td>\n      <td>75.746269</td>\n    </tr>\n    <tr>\n      <th>2038</th>\n      <td>ARWR</td>\n      <td>1516168800000</td>\n      <td>5.72</td>\n      <td>5.8600</td>\n      <td>5.3700</td>\n      <td>5.59</td>\n      <td>1863618</td>\n      <td>0.12</td>\n      <td>0.00</td>\n      <td>0.12</td>\n      <td>77.510549</td>\n      <td>3.5700</td>\n      <td>6.25</td>\n      <td>80.223881</td>\n    </tr>\n    <tr>\n      <th>2039</th>\n      <td>ARWR</td>\n      <td>1516255200000</td>\n      <td>5.72</td>\n      <td>5.8100</td>\n      <td>5.4000</td>\n      <td>5.41</td>\n      <td>5108776</td>\n      <td>0.00</td>\n      <td>0.00</td>\n      <td>0.00</td>\n      <td>77.510549</td>\n      <td>3.5700</td>\n      <td>6.25</td>\n      <td>80.223881</td>\n    </tr>\n    <tr>\n      <th>2040</th>\n      <td>ARWR</td>\n      <td>1516341600000</td>\n      <td>6.29</td>\n      <td>6.4000</td>\n      <td>5.7400</td>\n      <td>5.82</td>\n      <td>4723066</td>\n      <td>0.57</td>\n      <td>0.00</td>\n      <td>0.57</td>\n      <td>83.777106</td>\n      <td>3.5700</td>\n      <td>6.40</td>\n      <td>96.113074</td>\n    </tr>\n    <tr>\n      <th>2041</th>\n      <td>ARWR</td>\n      <td>1516600800000</td>\n      <td>6.39</td>\n      <td>6.7500</td>\n      <td>6.2700</td>\n      <td>6.31</td>\n      <td>3043385</td>\n      <td>0.10</td>\n      <td>0.00</td>\n      <td>0.10</td>\n      <td>84.643311</td>\n      <td>3.5700</td>\n      <td>6.75</td>\n      <td>88.679245</td>\n    </tr>\n    <tr>\n      <th>2042</th>\n      <td>ARWR</td>\n      <td>1516687200000</td>\n      <td>6.28</td>\n      <td>6.5900</td>\n      <td>6.2400</td>\n      <td>6.46</td>\n      <td>2269747</td>\n      <td>-0.11</td>\n      <td>0.11</td>\n      <td>0.00</td>\n      <td>79.271160</td>\n      <td>3.7700</td>\n      <td>6.75</td>\n      <td>84.228188</td>\n    </tr>\n    <tr>\n      <th>2043</th>\n      <td>ARWR</td>\n      <td>1516773600000</td>\n      <td>6.11</td>\n      <td>6.4300</td>\n      <td>5.8350</td>\n      <td>6.31</td>\n      <td>2069802</td>\n      <td>-0.17</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>71.211614</td>\n      <td>4.3100</td>\n      <td>6.75</td>\n      <td>73.770492</td>\n    </tr>\n    <tr>\n      <th>2044</th>\n      <td>ARWR</td>\n      <td>1516860000000</td>\n      <td>6.29</td>\n      <td>6.3800</td>\n      <td>6.0600</td>\n      <td>6.19</td>\n      <td>970888</td>\n      <td>0.18</td>\n      <td>0.00</td>\n      <td>0.18</td>\n      <td>74.392408</td>\n      <td>4.3100</td>\n      <td>6.75</td>\n      <td>81.147541</td>\n    </tr>\n    <tr>\n      <th>2045</th>\n      <td>ARWR</td>\n      <td>1516946400000</td>\n      <td>6.12</td>\n      <td>6.3500</td>\n      <td>6.1100</td>\n      <td>6.29</td>\n      <td>768893</td>\n      <td>-0.17</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>66.397815</td>\n      <td>4.3100</td>\n      <td>6.75</td>\n      <td>74.180328</td>\n    </tr>\n  </tbody>\n</table>\n</div>",
      "text/plain": "     symbol       datetime  close    high     low  open   volume  \\\n2016   ARWR  1513144800000   3.40  3.4100  3.0100  3.30  2037395   \n2017   ARWR  1513231200000   3.15  3.4200  3.0500  3.41  1702102   \n2018   ARWR  1513317600000   3.14  3.2000  3.0800  3.19  1305646   \n2019   ARWR  1513576800000   3.23  3.3950  3.1400  3.15  1254305   \n2020   ARWR  1513663200000   3.26  3.3800  3.2271  3.25  1128590   \n2021   ARWR  1513749600000   3.43  3.5850  3.2700  3.29  1378629   \n2022   ARWR  1513836000000   3.38  3.5398  3.3700  3.40  1105958   \n2023   ARWR  1513922400000   3.71  3.8267  3.4240  3.45  1996695   \n2024   ARWR  1514268000000   3.79  3.8600  3.6200  3.70  1054488   \n2025   ARWR  1514354400000   3.84  3.9100  3.7610  3.82  1252920   \n2026   ARWR  1514440800000   3.97  4.0300  3.8600  3.86  1110740   \n2027   ARWR  1514527200000   3.68  4.0400  3.6500  4.00  1363573   \n2028   ARWR  1514872800000   3.72  3.8300  3.5700  3.69   778349   \n2029   ARWR  1514959200000   4.64  4.8800  3.7700  3.79  5875479   \n2030   ARWR  1515045600000   4.85  5.1300  4.5000  4.58  3402024   \n2031   ARWR  1515132000000   4.87  5.2300  4.6600  4.86  2278246   \n2032   ARWR  1515391200000   4.55  4.9000  4.3700  4.88  2659533   \n2033   ARWR  1515477600000   4.62  4.9000  4.4550  4.58  1430439   \n2034   ARWR  1515564000000   4.40  4.7100  4.3100  4.57  1966340   \n2035   ARWR  1515650400000   5.04  5.4700  4.3700  4.44  4867172   \n2036   ARWR  1515736800000   5.72  6.2500  5.0106  5.17  7345087   \n2037   ARWR  1516082400000   5.60  5.9100  5.3041  5.90  2922293   \n2038   ARWR  1516168800000   5.72  5.8600  5.3700  5.59  1863618   \n2039   ARWR  1516255200000   5.72  5.8100  5.4000  5.41  5108776   \n2040   ARWR  1516341600000   6.29  6.4000  5.7400  5.82  4723066   \n2041   ARWR  1516600800000   6.39  6.7500  6.2700  6.31  3043385   \n2042   ARWR  1516687200000   6.28  6.5900  6.2400  6.46  2269747   \n2043   ARWR  1516773600000   6.11  6.4300  5.8350  6.31  2069802   \n2044   ARWR  1516860000000   6.29  6.3800  6.0600  6.19   970888   \n2045   ARWR  1516946400000   6.12  6.3500  6.1100  6.29   768893   \n\n      change_in_price  down_days  up_days        RSI  low_14  high_14  \\\n2016              NaN        NaN      NaN        NaN     NaN      NaN   \n2017            -0.25       0.25     0.00   0.000000     NaN      NaN   \n2018            -0.01       0.01     0.00   0.000000     NaN      NaN   \n2019             0.09       0.00     0.09  31.419705     NaN      NaN   \n2020             0.03       0.00     0.03  38.813758     NaN      NaN   \n2021             0.17       0.00     0.17  64.112604     NaN      NaN   \n2022            -0.05       0.05     0.00  56.223402     NaN      NaN   \n2023             0.33       0.00     0.33  77.400849     NaN      NaN   \n2024             0.08       0.00     0.08  80.094431     NaN      NaN   \n2025             0.05       0.00     0.05  81.669970     NaN      NaN   \n2026             0.13       0.00     0.13  85.187279     NaN      NaN   \n2027            -0.29       0.29     0.00  57.022939     NaN      NaN   \n2028             0.04       0.00     0.04  59.171267     NaN      NaN   \n2029             0.92       0.00     0.92  82.451324  3.0100     4.88   \n2030             0.21       0.00     0.21  84.742603  3.0500     5.13   \n2031             0.02       0.00     0.02  84.958420  3.0800     5.23   \n2032            -0.32       0.32     0.00  67.366376  3.1400     5.23   \n2033             0.07       0.00     0.07  68.987239  3.2271     5.23   \n2034            -0.22       0.22     0.00  58.457990  3.2700     5.23   \n2035             0.64       0.00     0.64  72.530779  3.3700     5.47   \n2036             0.68       0.00     0.68  80.591337  3.4240     6.25   \n2037            -0.12       0.12     0.00  76.047488  3.5700     6.25   \n2038             0.12       0.00     0.12  77.510549  3.5700     6.25   \n2039             0.00       0.00     0.00  77.510549  3.5700     6.25   \n2040             0.57       0.00     0.57  83.777106  3.5700     6.40   \n2041             0.10       0.00     0.10  84.643311  3.5700     6.75   \n2042            -0.11       0.11     0.00  79.271160  3.7700     6.75   \n2043            -0.17       0.17     0.00  71.211614  4.3100     6.75   \n2044             0.18       0.00     0.18  74.392408  4.3100     6.75   \n2045            -0.17       0.17     0.00  66.397815  4.3100     6.75   \n\n      k_percent  \n2016        NaN  \n2017        NaN  \n2018        NaN  \n2019        NaN  \n2020        NaN  \n2021        NaN  \n2022        NaN  \n2023        NaN  \n2024        NaN  \n2025        NaN  \n2026        NaN  \n2027        NaN  \n2028        NaN  \n2029  87.165775  \n2030  86.538462  \n2031  83.255814  \n2032  67.464115  \n2033  69.544161  \n2034  57.653061  \n2035  79.523810  \n2036  81.245577  \n2037  75.746269  \n2038  80.223881  \n2039  80.223881  \n2040  96.113074  \n2041  88.679245  \n2042  84.228188  \n2043  73.770492  \n2044  81.147541  \n2045  74.180328  "
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Calculate the Stochastic Oscillator\n",
    "n = 14\n",
    "\n",
    "# Make a copy of the high and low column.\n",
    "low_14, high_14 = price_data[['symbol','low']].copy(), price_data[['symbol','high']].copy()\n",
    "\n",
    "# Group by symbol, then apply the rolling function and grab the Min and Max.\n",
    "low_14 = low_14.groupby('symbol')['low'].transform(lambda x: x.rolling(window = n).min())\n",
    "high_14 = high_14.groupby('symbol')['high'].transform(lambda x: x.rolling(window = n).max())\n",
    "\n",
    "# Calculate the Stochastic Oscillator.\n",
    "k_percent = 100 * ((price_data['close'] - low_14) / (high_14 - low_14))\n",
    "\n",
    "# Add the info to the data frame.\n",
    "price_data['low_14'] = low_14\n",
    "price_data['high_14'] = high_14\n",
    "price_data['k_percent'] = k_percent\n",
    "\n",
    "# Display the head.\n",
    "price_data.head(30)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Indicator Calculation: Williams %R\n",
    "\n",
    "**Definition From Paper:**\n",
    "\n",
    "Williams %R ranges from -100 to 0. When its value is above -20, it indicates a sell signal and when its value is below -80, it indicates a buy signal.\n",
    "\n",
    "\n",
    "**Formula:**\n",
    "\n",
    "\\begin{align}\n",
    "\\ R = \\frac{(H_{14}-C)}{(H_{14}-L_{14})} * - 100\n",
    "\\end{align}\n",
    "\n",
    "$\n",
    "\\begin{align}\n",
    "\\ where,\n",
    "\\end{align}\n",
    "$\n",
    "\n",
    "$\n",
    "\\begin{align}\n",
    "\\ C = \\text{Current Closing Price}\n",
    "\\end{align}\n",
    "$\n",
    "\n",
    "$\n",
    "\\begin{align}\n",
    "\\ L_{14} = \\text{Lowest Low over the past 14 days}\n",
    "\\end{align}\n",
    "$\n",
    "\n",
    "$\n",
    "\\begin{align}\n",
    "\\ H_{14} = \\text{Highest High over the past 14 days}\n",
    "\\end{align}\n",
    "$\n",
    "\n",
    "**Code:**\n",
    "\n",
    "Identical to the Stochastic Oscillator, we change the arrangement of the formula."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>symbol</th>\n      <th>datetime</th>\n      <th>close</th>\n      <th>high</th>\n      <th>low</th>\n      <th>open</th>\n      <th>volume</th>\n      <th>change_in_price</th>\n      <th>down_days</th>\n      <th>up_days</th>\n      <th>RSI</th>\n      <th>low_14</th>\n      <th>high_14</th>\n      <th>k_percent</th>\n      <th>r_percent</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>2016</th>\n      <td>ARWR</td>\n      <td>1513144800000</td>\n      <td>3.40</td>\n      <td>3.4100</td>\n      <td>3.0100</td>\n      <td>3.30</td>\n      <td>2037395</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2017</th>\n      <td>ARWR</td>\n      <td>1513231200000</td>\n      <td>3.15</td>\n      <td>3.4200</td>\n      <td>3.0500</td>\n      <td>3.41</td>\n      <td>1702102</td>\n      <td>-0.25</td>\n      <td>0.25</td>\n      <td>0.00</td>\n      <td>0.000000</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2018</th>\n      <td>ARWR</td>\n      <td>1513317600000</td>\n      <td>3.14</td>\n      <td>3.2000</td>\n      <td>3.0800</td>\n      <td>3.19</td>\n      <td>1305646</td>\n      <td>-0.01</td>\n      <td>0.01</td>\n      <td>0.00</td>\n      <td>0.000000</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2019</th>\n      <td>ARWR</td>\n      <td>1513576800000</td>\n      <td>3.23</td>\n      <td>3.3950</td>\n      <td>3.1400</td>\n      <td>3.15</td>\n      <td>1254305</td>\n      <td>0.09</td>\n      <td>0.00</td>\n      <td>0.09</td>\n      <td>31.419705</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2020</th>\n      <td>ARWR</td>\n      <td>1513663200000</td>\n      <td>3.26</td>\n      <td>3.3800</td>\n      <td>3.2271</td>\n      <td>3.25</td>\n      <td>1128590</td>\n      <td>0.03</td>\n      <td>0.00</td>\n      <td>0.03</td>\n      <td>38.813758</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2021</th>\n      <td>ARWR</td>\n      <td>1513749600000</td>\n      <td>3.43</td>\n      <td>3.5850</td>\n      <td>3.2700</td>\n      <td>3.29</td>\n      <td>1378629</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>0.17</td>\n      <td>64.112604</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2022</th>\n      <td>ARWR</td>\n      <td>1513836000000</td>\n      <td>3.38</td>\n      <td>3.5398</td>\n      <td>3.3700</td>\n      <td>3.40</td>\n      <td>1105958</td>\n      <td>-0.05</td>\n      <td>0.05</td>\n      <td>0.00</td>\n      <td>56.223402</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2023</th>\n      <td>ARWR</td>\n      <td>1513922400000</td>\n      <td>3.71</td>\n      <td>3.8267</td>\n      <td>3.4240</td>\n      <td>3.45</td>\n      <td>1996695</td>\n      <td>0.33</td>\n      <td>0.00</td>\n      <td>0.33</td>\n      <td>77.400849</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2024</th>\n      <td>ARWR</td>\n      <td>1514268000000</td>\n      <td>3.79</td>\n      <td>3.8600</td>\n      <td>3.6200</td>\n      <td>3.70</td>\n      <td>1054488</td>\n      <td>0.08</td>\n      <td>0.00</td>\n      <td>0.08</td>\n      <td>80.094431</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2025</th>\n      <td>ARWR</td>\n      <td>1514354400000</td>\n      <td>3.84</td>\n      <td>3.9100</td>\n      <td>3.7610</td>\n      <td>3.82</td>\n      <td>1252920</td>\n      <td>0.05</td>\n      <td>0.00</td>\n      <td>0.05</td>\n      <td>81.669970</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2026</th>\n      <td>ARWR</td>\n      <td>1514440800000</td>\n      <td>3.97</td>\n      <td>4.0300</td>\n      <td>3.8600</td>\n      <td>3.86</td>\n      <td>1110740</td>\n      <td>0.13</td>\n      <td>0.00</td>\n      <td>0.13</td>\n      <td>85.187279</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2027</th>\n      <td>ARWR</td>\n      <td>1514527200000</td>\n      <td>3.68</td>\n      <td>4.0400</td>\n      <td>3.6500</td>\n      <td>4.00</td>\n      <td>1363573</td>\n      <td>-0.29</td>\n      <td>0.29</td>\n      <td>0.00</td>\n      <td>57.022939</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2028</th>\n      <td>ARWR</td>\n      <td>1514872800000</td>\n      <td>3.72</td>\n      <td>3.8300</td>\n      <td>3.5700</td>\n      <td>3.69</td>\n      <td>778349</td>\n      <td>0.04</td>\n      <td>0.00</td>\n      <td>0.04</td>\n      <td>59.171267</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2029</th>\n      <td>ARWR</td>\n      <td>1514959200000</td>\n      <td>4.64</td>\n      <td>4.8800</td>\n      <td>3.7700</td>\n      <td>3.79</td>\n      <td>5875479</td>\n      <td>0.92</td>\n      <td>0.00</td>\n      <td>0.92</td>\n      <td>82.451324</td>\n      <td>3.0100</td>\n      <td>4.88</td>\n      <td>87.165775</td>\n      <td>-12.834225</td>\n    </tr>\n    <tr>\n      <th>2030</th>\n      <td>ARWR</td>\n      <td>1515045600000</td>\n      <td>4.85</td>\n      <td>5.1300</td>\n      <td>4.5000</td>\n      <td>4.58</td>\n      <td>3402024</td>\n      <td>0.21</td>\n      <td>0.00</td>\n      <td>0.21</td>\n      <td>84.742603</td>\n      <td>3.0500</td>\n      <td>5.13</td>\n      <td>86.538462</td>\n      <td>-13.461538</td>\n    </tr>\n    <tr>\n      <th>2031</th>\n      <td>ARWR</td>\n      <td>1515132000000</td>\n      <td>4.87</td>\n      <td>5.2300</td>\n      <td>4.6600</td>\n      <td>4.86</td>\n      <td>2278246</td>\n      <td>0.02</td>\n      <td>0.00</td>\n      <td>0.02</td>\n      <td>84.958420</td>\n      <td>3.0800</td>\n      <td>5.23</td>\n      <td>83.255814</td>\n      <td>-16.744186</td>\n    </tr>\n    <tr>\n      <th>2032</th>\n      <td>ARWR</td>\n      <td>1515391200000</td>\n      <td>4.55</td>\n      <td>4.9000</td>\n      <td>4.3700</td>\n      <td>4.88</td>\n      <td>2659533</td>\n      <td>-0.32</td>\n      <td>0.32</td>\n      <td>0.00</td>\n      <td>67.366376</td>\n      <td>3.1400</td>\n      <td>5.23</td>\n      <td>67.464115</td>\n      <td>-32.535885</td>\n    </tr>\n    <tr>\n      <th>2033</th>\n      <td>ARWR</td>\n      <td>1515477600000</td>\n      <td>4.62</td>\n      <td>4.9000</td>\n      <td>4.4550</td>\n      <td>4.58</td>\n      <td>1430439</td>\n      <td>0.07</td>\n      <td>0.00</td>\n      <td>0.07</td>\n      <td>68.987239</td>\n      <td>3.2271</td>\n      <td>5.23</td>\n      <td>69.544161</td>\n      <td>-30.455839</td>\n    </tr>\n    <tr>\n      <th>2034</th>\n      <td>ARWR</td>\n      <td>1515564000000</td>\n      <td>4.40</td>\n      <td>4.7100</td>\n      <td>4.3100</td>\n      <td>4.57</td>\n      <td>1966340</td>\n      <td>-0.22</td>\n      <td>0.22</td>\n      <td>0.00</td>\n      <td>58.457990</td>\n      <td>3.2700</td>\n      <td>5.23</td>\n      <td>57.653061</td>\n      <td>-42.346939</td>\n    </tr>\n    <tr>\n      <th>2035</th>\n      <td>ARWR</td>\n      <td>1515650400000</td>\n      <td>5.04</td>\n      <td>5.4700</td>\n      <td>4.3700</td>\n      <td>4.44</td>\n      <td>4867172</td>\n      <td>0.64</td>\n      <td>0.00</td>\n      <td>0.64</td>\n      <td>72.530779</td>\n      <td>3.3700</td>\n      <td>5.47</td>\n      <td>79.523810</td>\n      <td>-20.476190</td>\n    </tr>\n    <tr>\n      <th>2036</th>\n      <td>ARWR</td>\n      <td>1515736800000</td>\n      <td>5.72</td>\n      <td>6.2500</td>\n      <td>5.0106</td>\n      <td>5.17</td>\n      <td>7345087</td>\n      <td>0.68</td>\n      <td>0.00</td>\n      <td>0.68</td>\n      <td>80.591337</td>\n      <td>3.4240</td>\n      <td>6.25</td>\n      <td>81.245577</td>\n      <td>-18.754423</td>\n    </tr>\n    <tr>\n      <th>2037</th>\n      <td>ARWR</td>\n      <td>1516082400000</td>\n      <td>5.60</td>\n      <td>5.9100</td>\n      <td>5.3041</td>\n      <td>5.90</td>\n      <td>2922293</td>\n      <td>-0.12</td>\n      <td>0.12</td>\n      <td>0.00</td>\n      <td>76.047488</td>\n      <td>3.5700</td>\n      <td>6.25</td>\n      <td>75.746269</td>\n      <td>-24.253731</td>\n    </tr>\n    <tr>\n      <th>2038</th>\n      <td>ARWR</td>\n      <td>1516168800000</td>\n      <td>5.72</td>\n      <td>5.8600</td>\n      <td>5.3700</td>\n      <td>5.59</td>\n      <td>1863618</td>\n      <td>0.12</td>\n      <td>0.00</td>\n      <td>0.12</td>\n      <td>77.510549</td>\n      <td>3.5700</td>\n      <td>6.25</td>\n      <td>80.223881</td>\n      <td>-19.776119</td>\n    </tr>\n    <tr>\n      <th>2039</th>\n      <td>ARWR</td>\n      <td>1516255200000</td>\n      <td>5.72</td>\n      <td>5.8100</td>\n      <td>5.4000</td>\n      <td>5.41</td>\n      <td>5108776</td>\n      <td>0.00</td>\n      <td>0.00</td>\n      <td>0.00</td>\n      <td>77.510549</td>\n      <td>3.5700</td>\n      <td>6.25</td>\n      <td>80.223881</td>\n      <td>-19.776119</td>\n    </tr>\n    <tr>\n      <th>2040</th>\n      <td>ARWR</td>\n      <td>1516341600000</td>\n      <td>6.29</td>\n      <td>6.4000</td>\n      <td>5.7400</td>\n      <td>5.82</td>\n      <td>4723066</td>\n      <td>0.57</td>\n      <td>0.00</td>\n      <td>0.57</td>\n      <td>83.777106</td>\n      <td>3.5700</td>\n      <td>6.40</td>\n      <td>96.113074</td>\n      <td>-3.886926</td>\n    </tr>\n    <tr>\n      <th>2041</th>\n      <td>ARWR</td>\n      <td>1516600800000</td>\n      <td>6.39</td>\n      <td>6.7500</td>\n      <td>6.2700</td>\n      <td>6.31</td>\n      <td>3043385</td>\n      <td>0.10</td>\n      <td>0.00</td>\n      <td>0.10</td>\n      <td>84.643311</td>\n      <td>3.5700</td>\n      <td>6.75</td>\n      <td>88.679245</td>\n      <td>-11.320755</td>\n    </tr>\n    <tr>\n      <th>2042</th>\n      <td>ARWR</td>\n      <td>1516687200000</td>\n      <td>6.28</td>\n      <td>6.5900</td>\n      <td>6.2400</td>\n      <td>6.46</td>\n      <td>2269747</td>\n      <td>-0.11</td>\n      <td>0.11</td>\n      <td>0.00</td>\n      <td>79.271160</td>\n      <td>3.7700</td>\n      <td>6.75</td>\n      <td>84.228188</td>\n      <td>-15.771812</td>\n    </tr>\n    <tr>\n      <th>2043</th>\n      <td>ARWR</td>\n      <td>1516773600000</td>\n      <td>6.11</td>\n      <td>6.4300</td>\n      <td>5.8350</td>\n      <td>6.31</td>\n      <td>2069802</td>\n      <td>-0.17</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>71.211614</td>\n      <td>4.3100</td>\n      <td>6.75</td>\n      <td>73.770492</td>\n      <td>-26.229508</td>\n    </tr>\n    <tr>\n      <th>2044</th>\n      <td>ARWR</td>\n      <td>1516860000000</td>\n      <td>6.29</td>\n      <td>6.3800</td>\n      <td>6.0600</td>\n      <td>6.19</td>\n      <td>970888</td>\n      <td>0.18</td>\n      <td>0.00</td>\n      <td>0.18</td>\n      <td>74.392408</td>\n      <td>4.3100</td>\n      <td>6.75</td>\n      <td>81.147541</td>\n      <td>-18.852459</td>\n    </tr>\n    <tr>\n      <th>2045</th>\n      <td>ARWR</td>\n      <td>1516946400000</td>\n      <td>6.12</td>\n      <td>6.3500</td>\n      <td>6.1100</td>\n      <td>6.29</td>\n      <td>768893</td>\n      <td>-0.17</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>66.397815</td>\n      <td>4.3100</td>\n      <td>6.75</td>\n      <td>74.180328</td>\n      <td>-25.819672</td>\n    </tr>\n  </tbody>\n</table>\n</div>",
      "text/plain": "     symbol       datetime  close    high     low  open   volume  \\\n2016   ARWR  1513144800000   3.40  3.4100  3.0100  3.30  2037395   \n2017   ARWR  1513231200000   3.15  3.4200  3.0500  3.41  1702102   \n2018   ARWR  1513317600000   3.14  3.2000  3.0800  3.19  1305646   \n2019   ARWR  1513576800000   3.23  3.3950  3.1400  3.15  1254305   \n2020   ARWR  1513663200000   3.26  3.3800  3.2271  3.25  1128590   \n2021   ARWR  1513749600000   3.43  3.5850  3.2700  3.29  1378629   \n2022   ARWR  1513836000000   3.38  3.5398  3.3700  3.40  1105958   \n2023   ARWR  1513922400000   3.71  3.8267  3.4240  3.45  1996695   \n2024   ARWR  1514268000000   3.79  3.8600  3.6200  3.70  1054488   \n2025   ARWR  1514354400000   3.84  3.9100  3.7610  3.82  1252920   \n2026   ARWR  1514440800000   3.97  4.0300  3.8600  3.86  1110740   \n2027   ARWR  1514527200000   3.68  4.0400  3.6500  4.00  1363573   \n2028   ARWR  1514872800000   3.72  3.8300  3.5700  3.69   778349   \n2029   ARWR  1514959200000   4.64  4.8800  3.7700  3.79  5875479   \n2030   ARWR  1515045600000   4.85  5.1300  4.5000  4.58  3402024   \n2031   ARWR  1515132000000   4.87  5.2300  4.6600  4.86  2278246   \n2032   ARWR  1515391200000   4.55  4.9000  4.3700  4.88  2659533   \n2033   ARWR  1515477600000   4.62  4.9000  4.4550  4.58  1430439   \n2034   ARWR  1515564000000   4.40  4.7100  4.3100  4.57  1966340   \n2035   ARWR  1515650400000   5.04  5.4700  4.3700  4.44  4867172   \n2036   ARWR  1515736800000   5.72  6.2500  5.0106  5.17  7345087   \n2037   ARWR  1516082400000   5.60  5.9100  5.3041  5.90  2922293   \n2038   ARWR  1516168800000   5.72  5.8600  5.3700  5.59  1863618   \n2039   ARWR  1516255200000   5.72  5.8100  5.4000  5.41  5108776   \n2040   ARWR  1516341600000   6.29  6.4000  5.7400  5.82  4723066   \n2041   ARWR  1516600800000   6.39  6.7500  6.2700  6.31  3043385   \n2042   ARWR  1516687200000   6.28  6.5900  6.2400  6.46  2269747   \n2043   ARWR  1516773600000   6.11  6.4300  5.8350  6.31  2069802   \n2044   ARWR  1516860000000   6.29  6.3800  6.0600  6.19   970888   \n2045   ARWR  1516946400000   6.12  6.3500  6.1100  6.29   768893   \n\n      change_in_price  down_days  up_days        RSI  low_14  high_14  \\\n2016              NaN        NaN      NaN        NaN     NaN      NaN   \n2017            -0.25       0.25     0.00   0.000000     NaN      NaN   \n2018            -0.01       0.01     0.00   0.000000     NaN      NaN   \n2019             0.09       0.00     0.09  31.419705     NaN      NaN   \n2020             0.03       0.00     0.03  38.813758     NaN      NaN   \n2021             0.17       0.00     0.17  64.112604     NaN      NaN   \n2022            -0.05       0.05     0.00  56.223402     NaN      NaN   \n2023             0.33       0.00     0.33  77.400849     NaN      NaN   \n2024             0.08       0.00     0.08  80.094431     NaN      NaN   \n2025             0.05       0.00     0.05  81.669970     NaN      NaN   \n2026             0.13       0.00     0.13  85.187279     NaN      NaN   \n2027            -0.29       0.29     0.00  57.022939     NaN      NaN   \n2028             0.04       0.00     0.04  59.171267     NaN      NaN   \n2029             0.92       0.00     0.92  82.451324  3.0100     4.88   \n2030             0.21       0.00     0.21  84.742603  3.0500     5.13   \n2031             0.02       0.00     0.02  84.958420  3.0800     5.23   \n2032            -0.32       0.32     0.00  67.366376  3.1400     5.23   \n2033             0.07       0.00     0.07  68.987239  3.2271     5.23   \n2034            -0.22       0.22     0.00  58.457990  3.2700     5.23   \n2035             0.64       0.00     0.64  72.530779  3.3700     5.47   \n2036             0.68       0.00     0.68  80.591337  3.4240     6.25   \n2037            -0.12       0.12     0.00  76.047488  3.5700     6.25   \n2038             0.12       0.00     0.12  77.510549  3.5700     6.25   \n2039             0.00       0.00     0.00  77.510549  3.5700     6.25   \n2040             0.57       0.00     0.57  83.777106  3.5700     6.40   \n2041             0.10       0.00     0.10  84.643311  3.5700     6.75   \n2042            -0.11       0.11     0.00  79.271160  3.7700     6.75   \n2043            -0.17       0.17     0.00  71.211614  4.3100     6.75   \n2044             0.18       0.00     0.18  74.392408  4.3100     6.75   \n2045            -0.17       0.17     0.00  66.397815  4.3100     6.75   \n\n      k_percent  r_percent  \n2016        NaN        NaN  \n2017        NaN        NaN  \n2018        NaN        NaN  \n2019        NaN        NaN  \n2020        NaN        NaN  \n2021        NaN        NaN  \n2022        NaN        NaN  \n2023        NaN        NaN  \n2024        NaN        NaN  \n2025        NaN        NaN  \n2026        NaN        NaN  \n2027        NaN        NaN  \n2028        NaN        NaN  \n2029  87.165775 -12.834225  \n2030  86.538462 -13.461538  \n2031  83.255814 -16.744186  \n2032  67.464115 -32.535885  \n2033  69.544161 -30.455839  \n2034  57.653061 -42.346939  \n2035  79.523810 -20.476190  \n2036  81.245577 -18.754423  \n2037  75.746269 -24.253731  \n2038  80.223881 -19.776119  \n2039  80.223881 -19.776119  \n2040  96.113074  -3.886926  \n2041  88.679245 -11.320755  \n2042  84.228188 -15.771812  \n2043  73.770492 -26.229508  \n2044  81.147541 -18.852459  \n2045  74.180328 -25.819672  "
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Calculate the Williams %R\n",
    "n = 14\n",
    "\n",
    "# Make a copy of the high and low column.\n",
    "low_14, high_14 = price_data[['symbol','low']].copy(), price_data[['symbol','high']].copy()\n",
    "\n",
    "# Group by symbol, then apply the rolling function and grab the Min and Max.\n",
    "low_14 = low_14.groupby('symbol')['low'].transform(lambda x: x.rolling(window = n).min())\n",
    "high_14 = high_14.groupby('symbol')['high'].transform(lambda x: x.rolling(window = n).max())\n",
    "\n",
    "# Calculate William %R indicator.\n",
    "r_percent = ((high_14 - price_data['close']) / (high_14 - low_14)) * - 100\n",
    "\n",
    "# Add the info to the data frame.\n",
    "price_data['r_percent'] = r_percent\n",
    "\n",
    "# Display the head.\n",
    "price_data.head(30)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Indicator Calculation: Moving Average Convergence Divergnece (MACD)\n",
    "\n",
    "**Definition From Paper:**\n",
    "\n",
    "EMA stands for Exponential Moving Average. When the MACD goes below the SingalLine, it indicates a sell signal. When it goes above the SignalLine, it indicates a buy signal.\n",
    "\n",
    "\n",
    "**Formula:**\n",
    "\n",
    "\n",
    "\\begin{align}\n",
    "\\ MACD = EMA_{12}(C) - EMA_{26}(C)\n",
    "\\end{align}\n",
    "\n",
    "\\begin{align}\n",
    "\\ SignalLine = EMA_{9}(MACD)\n",
    "\\end{align}\n",
    "\n",
    "\n",
    "$\n",
    "\\begin{align}\n",
    "\\ where,\n",
    "\\end{align}\n",
    "$\n",
    "\n",
    "$\n",
    "\\begin{align}\n",
    "\\ MACD = \\text{Moving Average Convergence Divergence}\n",
    "\\end{align}\n",
    "$\n",
    "\n",
    "$\n",
    "\\begin{align}\n",
    "\\ C = \\text{Closing Price}\n",
    "\\end{align}\n",
    "$\n",
    "\n",
    "$\n",
    "\\begin{align}\n",
    "\\ EMA_{n} = \\text{n day Exponential Moving Average}\n",
    "\\end{align}\n",
    "\\\\\n",
    "$\n",
    "\n",
    "**Code:**\n",
    "\n",
    "For the MACD, we will need the `close` column, so grab that and then apply the `transform` method along with the specified Lambda function. Now calculating an Exponential Moving Average in `pandas` is easy. First, call the `ewm` (exponential moving weight) function and then specify the `span` or, in other words, the number of periods to look back. In this case, we use the definition provided by the formula and specify 26 & 12.\n",
    "\n",
    "Once we've calculated the EMA_26 and EMA_12, we take the difference between EMA_12 & EMA_26 to get our MACD. Now that we have our MACD, we need to calculate the EMA of the MACD, so we take our MACD series and apply the same `ewm` function too, but in this case, we specify a `span` of 9. Finally, we add both the MACD and MACD_EMA to the main data frame."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>symbol</th>\n      <th>datetime</th>\n      <th>close</th>\n      <th>high</th>\n      <th>low</th>\n      <th>open</th>\n      <th>volume</th>\n      <th>change_in_price</th>\n      <th>down_days</th>\n      <th>up_days</th>\n      <th>RSI</th>\n      <th>low_14</th>\n      <th>high_14</th>\n      <th>k_percent</th>\n      <th>r_percent</th>\n      <th>MACD</th>\n      <th>MACD_EMA</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>2016</th>\n      <td>ARWR</td>\n      <td>1513144800000</td>\n      <td>3.40</td>\n      <td>3.4100</td>\n      <td>3.0100</td>\n      <td>3.30</td>\n      <td>2037395</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>2017</th>\n      <td>ARWR</td>\n      <td>1513231200000</td>\n      <td>3.15</td>\n      <td>3.4200</td>\n      <td>3.0500</td>\n      <td>3.41</td>\n      <td>1702102</td>\n      <td>-0.25</td>\n      <td>0.25</td>\n      <td>0.00</td>\n      <td>0.000000</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>-0.005609</td>\n      <td>-0.003116</td>\n    </tr>\n    <tr>\n      <th>2018</th>\n      <td>ARWR</td>\n      <td>1513317600000</td>\n      <td>3.14</td>\n      <td>3.2000</td>\n      <td>3.0800</td>\n      <td>3.19</td>\n      <td>1305646</td>\n      <td>-0.01</td>\n      <td>0.01</td>\n      <td>0.00</td>\n      <td>0.000000</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>-0.007457</td>\n      <td>-0.004895</td>\n    </tr>\n    <tr>\n      <th>2019</th>\n      <td>ARWR</td>\n      <td>1513576800000</td>\n      <td>3.23</td>\n      <td>3.3950</td>\n      <td>3.1400</td>\n      <td>3.15</td>\n      <td>1254305</td>\n      <td>0.09</td>\n      <td>0.00</td>\n      <td>0.09</td>\n      <td>31.419705</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>-0.004865</td>\n      <td>-0.004885</td>\n    </tr>\n    <tr>\n      <th>2020</th>\n      <td>ARWR</td>\n      <td>1513663200000</td>\n      <td>3.26</td>\n      <td>3.3800</td>\n      <td>3.2271</td>\n      <td>3.25</td>\n      <td>1128590</td>\n      <td>0.03</td>\n      <td>0.00</td>\n      <td>0.03</td>\n      <td>38.813758</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>-0.002161</td>\n      <td>-0.004075</td>\n    </tr>\n    <tr>\n      <th>2021</th>\n      <td>ARWR</td>\n      <td>1513749600000</td>\n      <td>3.43</td>\n      <td>3.5850</td>\n      <td>3.2700</td>\n      <td>3.29</td>\n      <td>1378629</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>0.17</td>\n      <td>64.112604</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.006775</td>\n      <td>-0.001134</td>\n    </tr>\n    <tr>\n      <th>2022</th>\n      <td>ARWR</td>\n      <td>1513836000000</td>\n      <td>3.38</td>\n      <td>3.5398</td>\n      <td>3.3700</td>\n      <td>3.40</td>\n      <td>1105958</td>\n      <td>-0.05</td>\n      <td>0.05</td>\n      <td>0.00</td>\n      <td>56.223402</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.010123</td>\n      <td>0.001715</td>\n    </tr>\n    <tr>\n      <th>2023</th>\n      <td>ARWR</td>\n      <td>1513922400000</td>\n      <td>3.71</td>\n      <td>3.8267</td>\n      <td>3.4240</td>\n      <td>3.45</td>\n      <td>1996695</td>\n      <td>0.33</td>\n      <td>0.00</td>\n      <td>0.33</td>\n      <td>77.400849</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.027901</td>\n      <td>0.008008</td>\n    </tr>\n    <tr>\n      <th>2024</th>\n      <td>ARWR</td>\n      <td>1514268000000</td>\n      <td>3.79</td>\n      <td>3.8600</td>\n      <td>3.6200</td>\n      <td>3.70</td>\n      <td>1054488</td>\n      <td>0.08</td>\n      <td>0.00</td>\n      <td>0.08</td>\n      <td>80.094431</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.043756</td>\n      <td>0.016266</td>\n    </tr>\n    <tr>\n      <th>2025</th>\n      <td>ARWR</td>\n      <td>1514354400000</td>\n      <td>3.84</td>\n      <td>3.9100</td>\n      <td>3.7610</td>\n      <td>3.82</td>\n      <td>1252920</td>\n      <td>0.05</td>\n      <td>0.00</td>\n      <td>0.05</td>\n      <td>81.669970</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.056942</td>\n      <td>0.025380</td>\n    </tr>\n    <tr>\n      <th>2026</th>\n      <td>ARWR</td>\n      <td>1514440800000</td>\n      <td>3.97</td>\n      <td>4.0300</td>\n      <td>3.8600</td>\n      <td>3.86</td>\n      <td>1110740</td>\n      <td>0.13</td>\n      <td>0.00</td>\n      <td>0.13</td>\n      <td>85.187279</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.072598</td>\n      <td>0.035711</td>\n    </tr>\n    <tr>\n      <th>2027</th>\n      <td>ARWR</td>\n      <td>1514527200000</td>\n      <td>3.68</td>\n      <td>4.0400</td>\n      <td>3.6500</td>\n      <td>4.00</td>\n      <td>1363573</td>\n      <td>-0.29</td>\n      <td>0.29</td>\n      <td>0.00</td>\n      <td>57.022939</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.067158</td>\n      <td>0.042464</td>\n    </tr>\n    <tr>\n      <th>2028</th>\n      <td>ARWR</td>\n      <td>1514872800000</td>\n      <td>3.72</td>\n      <td>3.8300</td>\n      <td>3.5700</td>\n      <td>3.69</td>\n      <td>778349</td>\n      <td>0.04</td>\n      <td>0.00</td>\n      <td>0.04</td>\n      <td>59.171267</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.064492</td>\n      <td>0.047126</td>\n    </tr>\n    <tr>\n      <th>2029</th>\n      <td>ARWR</td>\n      <td>1514959200000</td>\n      <td>4.64</td>\n      <td>4.8800</td>\n      <td>3.7700</td>\n      <td>3.79</td>\n      <td>5875479</td>\n      <td>0.92</td>\n      <td>0.00</td>\n      <td>0.92</td>\n      <td>82.451324</td>\n      <td>3.0100</td>\n      <td>4.88</td>\n      <td>87.165775</td>\n      <td>-12.834225</td>\n      <td>0.114979</td>\n      <td>0.061321</td>\n    </tr>\n    <tr>\n      <th>2030</th>\n      <td>ARWR</td>\n      <td>1515045600000</td>\n      <td>4.85</td>\n      <td>5.1300</td>\n      <td>4.5000</td>\n      <td>4.58</td>\n      <td>3402024</td>\n      <td>0.21</td>\n      <td>0.00</td>\n      <td>0.21</td>\n      <td>84.742603</td>\n      <td>3.0500</td>\n      <td>5.13</td>\n      <td>86.538462</td>\n      <td>-13.461538</td>\n      <td>0.164049</td>\n      <td>0.082616</td>\n    </tr>\n    <tr>\n      <th>2031</th>\n      <td>ARWR</td>\n      <td>1515132000000</td>\n      <td>4.87</td>\n      <td>5.2300</td>\n      <td>4.6600</td>\n      <td>4.86</td>\n      <td>2278246</td>\n      <td>0.02</td>\n      <td>0.00</td>\n      <td>0.02</td>\n      <td>84.958420</td>\n      <td>3.0800</td>\n      <td>5.23</td>\n      <td>83.255814</td>\n      <td>-16.744186</td>\n      <td>0.200433</td>\n      <td>0.106862</td>\n    </tr>\n    <tr>\n      <th>2032</th>\n      <td>ARWR</td>\n      <td>1515391200000</td>\n      <td>4.55</td>\n      <td>4.9000</td>\n      <td>4.3700</td>\n      <td>4.88</td>\n      <td>2659533</td>\n      <td>-0.32</td>\n      <td>0.32</td>\n      <td>0.00</td>\n      <td>67.366376</td>\n      <td>3.1400</td>\n      <td>5.23</td>\n      <td>67.464115</td>\n      <td>-32.535885</td>\n      <td>0.205891</td>\n      <td>0.127124</td>\n    </tr>\n    <tr>\n      <th>2033</th>\n      <td>ARWR</td>\n      <td>1515477600000</td>\n      <td>4.62</td>\n      <td>4.9000</td>\n      <td>4.4550</td>\n      <td>4.58</td>\n      <td>1430439</td>\n      <td>0.07</td>\n      <td>0.00</td>\n      <td>0.07</td>\n      <td>68.987239</td>\n      <td>3.2271</td>\n      <td>5.23</td>\n      <td>69.544161</td>\n      <td>-30.455839</td>\n      <td>0.211957</td>\n      <td>0.144402</td>\n    </tr>\n    <tr>\n      <th>2034</th>\n      <td>ARWR</td>\n      <td>1515564000000</td>\n      <td>4.40</td>\n      <td>4.7100</td>\n      <td>4.3100</td>\n      <td>4.57</td>\n      <td>1966340</td>\n      <td>-0.22</td>\n      <td>0.22</td>\n      <td>0.00</td>\n      <td>58.457990</td>\n      <td>3.2700</td>\n      <td>5.23</td>\n      <td>57.653061</td>\n      <td>-42.346939</td>\n      <td>0.199928</td>\n      <td>0.155669</td>\n    </tr>\n    <tr>\n      <th>2035</th>\n      <td>ARWR</td>\n      <td>1515650400000</td>\n      <td>5.04</td>\n      <td>5.4700</td>\n      <td>4.3700</td>\n      <td>4.44</td>\n      <td>4867172</td>\n      <td>0.64</td>\n      <td>0.00</td>\n      <td>0.64</td>\n      <td>72.530779</td>\n      <td>3.3700</td>\n      <td>5.47</td>\n      <td>79.523810</td>\n      <td>-20.476190</td>\n      <td>0.229962</td>\n      <td>0.170701</td>\n    </tr>\n    <tr>\n      <th>2036</th>\n      <td>ARWR</td>\n      <td>1515736800000</td>\n      <td>5.72</td>\n      <td>6.2500</td>\n      <td>5.0106</td>\n      <td>5.17</td>\n      <td>7345087</td>\n      <td>0.68</td>\n      <td>0.00</td>\n      <td>0.68</td>\n      <td>80.591337</td>\n      <td>3.4240</td>\n      <td>6.25</td>\n      <td>81.245577</td>\n      <td>-18.754423</td>\n      <td>0.295399</td>\n      <td>0.195873</td>\n    </tr>\n    <tr>\n      <th>2037</th>\n      <td>ARWR</td>\n      <td>1516082400000</td>\n      <td>5.60</td>\n      <td>5.9100</td>\n      <td>5.3041</td>\n      <td>5.90</td>\n      <td>2922293</td>\n      <td>-0.12</td>\n      <td>0.12</td>\n      <td>0.00</td>\n      <td>76.047488</td>\n      <td>3.5700</td>\n      <td>6.25</td>\n      <td>75.746269</td>\n      <td>-24.253731</td>\n      <td>0.334492</td>\n      <td>0.223803</td>\n    </tr>\n    <tr>\n      <th>2038</th>\n      <td>ARWR</td>\n      <td>1516168800000</td>\n      <td>5.72</td>\n      <td>5.8600</td>\n      <td>5.3700</td>\n      <td>5.59</td>\n      <td>1863618</td>\n      <td>0.12</td>\n      <td>0.00</td>\n      <td>0.12</td>\n      <td>77.510549</td>\n      <td>3.5700</td>\n      <td>6.25</td>\n      <td>80.223881</td>\n      <td>-19.776119</td>\n      <td>0.368998</td>\n      <td>0.253014</td>\n    </tr>\n    <tr>\n      <th>2039</th>\n      <td>ARWR</td>\n      <td>1516255200000</td>\n      <td>5.72</td>\n      <td>5.8100</td>\n      <td>5.4000</td>\n      <td>5.41</td>\n      <td>5108776</td>\n      <td>0.00</td>\n      <td>0.00</td>\n      <td>0.00</td>\n      <td>77.510549</td>\n      <td>3.5700</td>\n      <td>6.25</td>\n      <td>80.223881</td>\n      <td>-19.776119</td>\n      <td>0.391442</td>\n      <td>0.280831</td>\n    </tr>\n    <tr>\n      <th>2040</th>\n      <td>ARWR</td>\n      <td>1516341600000</td>\n      <td>6.29</td>\n      <td>6.4000</td>\n      <td>5.7400</td>\n      <td>5.82</td>\n      <td>4723066</td>\n      <td>0.57</td>\n      <td>0.00</td>\n      <td>0.57</td>\n      <td>83.777106</td>\n      <td>3.5700</td>\n      <td>6.40</td>\n      <td>96.113074</td>\n      <td>-3.886926</td>\n      <td>0.443912</td>\n      <td>0.313571</td>\n    </tr>\n    <tr>\n      <th>2041</th>\n      <td>ARWR</td>\n      <td>1516600800000</td>\n      <td>6.39</td>\n      <td>6.7500</td>\n      <td>6.2700</td>\n      <td>6.31</td>\n      <td>3043385</td>\n      <td>0.10</td>\n      <td>0.00</td>\n      <td>0.10</td>\n      <td>84.643311</td>\n      <td>3.5700</td>\n      <td>6.75</td>\n      <td>88.679245</td>\n      <td>-11.320755</td>\n      <td>0.486575</td>\n      <td>0.348277</td>\n    </tr>\n    <tr>\n      <th>2042</th>\n      <td>ARWR</td>\n      <td>1516687200000</td>\n      <td>6.28</td>\n      <td>6.5900</td>\n      <td>6.2400</td>\n      <td>6.46</td>\n      <td>2269747</td>\n      <td>-0.11</td>\n      <td>0.11</td>\n      <td>0.00</td>\n      <td>79.271160</td>\n      <td>3.7700</td>\n      <td>6.75</td>\n      <td>84.228188</td>\n      <td>-15.771812</td>\n      <td>0.506334</td>\n      <td>0.379965</td>\n    </tr>\n    <tr>\n      <th>2043</th>\n      <td>ARWR</td>\n      <td>1516773600000</td>\n      <td>6.11</td>\n      <td>6.4300</td>\n      <td>5.8350</td>\n      <td>6.31</td>\n      <td>2069802</td>\n      <td>-0.17</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>71.211614</td>\n      <td>4.3100</td>\n      <td>6.75</td>\n      <td>73.770492</td>\n      <td>-26.229508</td>\n      <td>0.503683</td>\n      <td>0.404756</td>\n    </tr>\n    <tr>\n      <th>2044</th>\n      <td>ARWR</td>\n      <td>1516860000000</td>\n      <td>6.29</td>\n      <td>6.3800</td>\n      <td>6.0600</td>\n      <td>6.19</td>\n      <td>970888</td>\n      <td>0.18</td>\n      <td>0.00</td>\n      <td>0.18</td>\n      <td>74.392408</td>\n      <td>4.3100</td>\n      <td>6.75</td>\n      <td>81.147541</td>\n      <td>-18.852459</td>\n      <td>0.508733</td>\n      <td>0.425584</td>\n    </tr>\n    <tr>\n      <th>2045</th>\n      <td>ARWR</td>\n      <td>1516946400000</td>\n      <td>6.12</td>\n      <td>6.3500</td>\n      <td>6.1100</td>\n      <td>6.29</td>\n      <td>768893</td>\n      <td>-0.17</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>66.397815</td>\n      <td>4.3100</td>\n      <td>6.75</td>\n      <td>74.180328</td>\n      <td>-25.819672</td>\n      <td>0.494423</td>\n      <td>0.439369</td>\n    </tr>\n  </tbody>\n</table>\n</div>",
      "text/plain": "     symbol       datetime  close    high     low  open   volume  \\\n2016   ARWR  1513144800000   3.40  3.4100  3.0100  3.30  2037395   \n2017   ARWR  1513231200000   3.15  3.4200  3.0500  3.41  1702102   \n2018   ARWR  1513317600000   3.14  3.2000  3.0800  3.19  1305646   \n2019   ARWR  1513576800000   3.23  3.3950  3.1400  3.15  1254305   \n2020   ARWR  1513663200000   3.26  3.3800  3.2271  3.25  1128590   \n2021   ARWR  1513749600000   3.43  3.5850  3.2700  3.29  1378629   \n2022   ARWR  1513836000000   3.38  3.5398  3.3700  3.40  1105958   \n2023   ARWR  1513922400000   3.71  3.8267  3.4240  3.45  1996695   \n2024   ARWR  1514268000000   3.79  3.8600  3.6200  3.70  1054488   \n2025   ARWR  1514354400000   3.84  3.9100  3.7610  3.82  1252920   \n2026   ARWR  1514440800000   3.97  4.0300  3.8600  3.86  1110740   \n2027   ARWR  1514527200000   3.68  4.0400  3.6500  4.00  1363573   \n2028   ARWR  1514872800000   3.72  3.8300  3.5700  3.69   778349   \n2029   ARWR  1514959200000   4.64  4.8800  3.7700  3.79  5875479   \n2030   ARWR  1515045600000   4.85  5.1300  4.5000  4.58  3402024   \n2031   ARWR  1515132000000   4.87  5.2300  4.6600  4.86  2278246   \n2032   ARWR  1515391200000   4.55  4.9000  4.3700  4.88  2659533   \n2033   ARWR  1515477600000   4.62  4.9000  4.4550  4.58  1430439   \n2034   ARWR  1515564000000   4.40  4.7100  4.3100  4.57  1966340   \n2035   ARWR  1515650400000   5.04  5.4700  4.3700  4.44  4867172   \n2036   ARWR  1515736800000   5.72  6.2500  5.0106  5.17  7345087   \n2037   ARWR  1516082400000   5.60  5.9100  5.3041  5.90  2922293   \n2038   ARWR  1516168800000   5.72  5.8600  5.3700  5.59  1863618   \n2039   ARWR  1516255200000   5.72  5.8100  5.4000  5.41  5108776   \n2040   ARWR  1516341600000   6.29  6.4000  5.7400  5.82  4723066   \n2041   ARWR  1516600800000   6.39  6.7500  6.2700  6.31  3043385   \n2042   ARWR  1516687200000   6.28  6.5900  6.2400  6.46  2269747   \n2043   ARWR  1516773600000   6.11  6.4300  5.8350  6.31  2069802   \n2044   ARWR  1516860000000   6.29  6.3800  6.0600  6.19   970888   \n2045   ARWR  1516946400000   6.12  6.3500  6.1100  6.29   768893   \n\n      change_in_price  down_days  up_days        RSI  low_14  high_14  \\\n2016              NaN        NaN      NaN        NaN     NaN      NaN   \n2017            -0.25       0.25     0.00   0.000000     NaN      NaN   \n2018            -0.01       0.01     0.00   0.000000     NaN      NaN   \n2019             0.09       0.00     0.09  31.419705     NaN      NaN   \n2020             0.03       0.00     0.03  38.813758     NaN      NaN   \n2021             0.17       0.00     0.17  64.112604     NaN      NaN   \n2022            -0.05       0.05     0.00  56.223402     NaN      NaN   \n2023             0.33       0.00     0.33  77.400849     NaN      NaN   \n2024             0.08       0.00     0.08  80.094431     NaN      NaN   \n2025             0.05       0.00     0.05  81.669970     NaN      NaN   \n2026             0.13       0.00     0.13  85.187279     NaN      NaN   \n2027            -0.29       0.29     0.00  57.022939     NaN      NaN   \n2028             0.04       0.00     0.04  59.171267     NaN      NaN   \n2029             0.92       0.00     0.92  82.451324  3.0100     4.88   \n2030             0.21       0.00     0.21  84.742603  3.0500     5.13   \n2031             0.02       0.00     0.02  84.958420  3.0800     5.23   \n2032            -0.32       0.32     0.00  67.366376  3.1400     5.23   \n2033             0.07       0.00     0.07  68.987239  3.2271     5.23   \n2034            -0.22       0.22     0.00  58.457990  3.2700     5.23   \n2035             0.64       0.00     0.64  72.530779  3.3700     5.47   \n2036             0.68       0.00     0.68  80.591337  3.4240     6.25   \n2037            -0.12       0.12     0.00  76.047488  3.5700     6.25   \n2038             0.12       0.00     0.12  77.510549  3.5700     6.25   \n2039             0.00       0.00     0.00  77.510549  3.5700     6.25   \n2040             0.57       0.00     0.57  83.777106  3.5700     6.40   \n2041             0.10       0.00     0.10  84.643311  3.5700     6.75   \n2042            -0.11       0.11     0.00  79.271160  3.7700     6.75   \n2043            -0.17       0.17     0.00  71.211614  4.3100     6.75   \n2044             0.18       0.00     0.18  74.392408  4.3100     6.75   \n2045            -0.17       0.17     0.00  66.397815  4.3100     6.75   \n\n      k_percent  r_percent      MACD  MACD_EMA  \n2016        NaN        NaN  0.000000  0.000000  \n2017        NaN        NaN -0.005609 -0.003116  \n2018        NaN        NaN -0.007457 -0.004895  \n2019        NaN        NaN -0.004865 -0.004885  \n2020        NaN        NaN -0.002161 -0.004075  \n2021        NaN        NaN  0.006775 -0.001134  \n2022        NaN        NaN  0.010123  0.001715  \n2023        NaN        NaN  0.027901  0.008008  \n2024        NaN        NaN  0.043756  0.016266  \n2025        NaN        NaN  0.056942  0.025380  \n2026        NaN        NaN  0.072598  0.035711  \n2027        NaN        NaN  0.067158  0.042464  \n2028        NaN        NaN  0.064492  0.047126  \n2029  87.165775 -12.834225  0.114979  0.061321  \n2030  86.538462 -13.461538  0.164049  0.082616  \n2031  83.255814 -16.744186  0.200433  0.106862  \n2032  67.464115 -32.535885  0.205891  0.127124  \n2033  69.544161 -30.455839  0.211957  0.144402  \n2034  57.653061 -42.346939  0.199928  0.155669  \n2035  79.523810 -20.476190  0.229962  0.170701  \n2036  81.245577 -18.754423  0.295399  0.195873  \n2037  75.746269 -24.253731  0.334492  0.223803  \n2038  80.223881 -19.776119  0.368998  0.253014  \n2039  80.223881 -19.776119  0.391442  0.280831  \n2040  96.113074  -3.886926  0.443912  0.313571  \n2041  88.679245 -11.320755  0.486575  0.348277  \n2042  84.228188 -15.771812  0.506334  0.379965  \n2043  73.770492 -26.229508  0.503683  0.404756  \n2044  81.147541 -18.852459  0.508733  0.425584  \n2045  74.180328 -25.819672  0.494423  0.439369  "
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Calculate the MACD\n",
    "ema_26 = price_data.groupby('symbol')['close'].transform(lambda x: x.ewm(span = 26).mean())\n",
    "ema_12 = price_data.groupby('symbol')['close'].transform(lambda x: x.ewm(span = 12).mean())\n",
    "macd = ema_12 - ema_26\n",
    "\n",
    "# Calculate the EMA\n",
    "ema_9_macd = macd.ewm(span = 9).mean()\n",
    "\n",
    "# Store the data in the data frame.\n",
    "price_data['MACD'] = macd\n",
    "price_data['MACD_EMA'] = ema_9_macd\n",
    "\n",
    "# Print the head.\n",
    "price_data.head(30)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Indicator Calculation: Price Rate Of Change\n",
    "\n",
    "**Definition From Paper:**\n",
    "\n",
    "It measures the most recent change in price with respect to the price in `n` days ago.\n",
    "\n",
    "**Formula:**\n",
    "\n",
    "\n",
    "\\begin{align}\n",
    "\\\\\n",
    "\\ PROC_{t} = \\frac{C_{t} - C_{t-n}}{C_{t-n}}\n",
    "\\\\\n",
    "\\end{align}\n",
    "\n",
    "\n",
    "$\n",
    "\\begin{align}\n",
    "\\ where,\n",
    "\\end{align}\n",
    "$\n",
    "\n",
    "$\n",
    "\\begin{align}\n",
    "\\ PROC_{t} = \\text{Price Rate of Change at time t}\n",
    "\\end{align}\n",
    "$\n",
    "\n",
    "$\n",
    "\\begin{align}\n",
    "\\ C_{t} = \\text{Closing price at time t}\n",
    "\\end{align}\n",
    "\\\\\n",
    "$\n",
    "\n",
    "\n",
    "**Code:**\n",
    "\n",
    "The Price Rate of Change is another easy indicator to calculate in pandas because we can leverage a built-in function. In this case, we will use the `pct_change` function and apply it to our all too familiar symbol groups. For the `pct_change` function, we have an argument called `periods` which specifies how far we need to look back when calculating the rate of change. In this case, the paper never provided a specific `n,` but after doing some research, I landed on an `n` of 9 because this seemed to be the standard window. Now, it's important to note that the paper changes `n` depending on the window, so technically I'm not doing exactly like they did. For example, if my prediction window was `30 days` then `n` should be 30."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>symbol</th>\n      <th>datetime</th>\n      <th>close</th>\n      <th>high</th>\n      <th>low</th>\n      <th>open</th>\n      <th>volume</th>\n      <th>change_in_price</th>\n      <th>down_days</th>\n      <th>up_days</th>\n      <th>RSI</th>\n      <th>low_14</th>\n      <th>high_14</th>\n      <th>k_percent</th>\n      <th>r_percent</th>\n      <th>MACD</th>\n      <th>MACD_EMA</th>\n      <th>Price_Rate_Of_Change</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>2016</th>\n      <td>ARWR</td>\n      <td>1513144800000</td>\n      <td>3.40</td>\n      <td>3.4100</td>\n      <td>3.0100</td>\n      <td>3.30</td>\n      <td>2037395</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2017</th>\n      <td>ARWR</td>\n      <td>1513231200000</td>\n      <td>3.15</td>\n      <td>3.4200</td>\n      <td>3.0500</td>\n      <td>3.41</td>\n      <td>1702102</td>\n      <td>-0.25</td>\n      <td>0.25</td>\n      <td>0.00</td>\n      <td>0.000000</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>-0.005609</td>\n      <td>-0.003116</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2018</th>\n      <td>ARWR</td>\n      <td>1513317600000</td>\n      <td>3.14</td>\n      <td>3.2000</td>\n      <td>3.0800</td>\n      <td>3.19</td>\n      <td>1305646</td>\n      <td>-0.01</td>\n      <td>0.01</td>\n      <td>0.00</td>\n      <td>0.000000</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>-0.007457</td>\n      <td>-0.004895</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2019</th>\n      <td>ARWR</td>\n      <td>1513576800000</td>\n      <td>3.23</td>\n      <td>3.3950</td>\n      <td>3.1400</td>\n      <td>3.15</td>\n      <td>1254305</td>\n      <td>0.09</td>\n      <td>0.00</td>\n      <td>0.09</td>\n      <td>31.419705</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>-0.004865</td>\n      <td>-0.004885</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2020</th>\n      <td>ARWR</td>\n      <td>1513663200000</td>\n      <td>3.26</td>\n      <td>3.3800</td>\n      <td>3.2271</td>\n      <td>3.25</td>\n      <td>1128590</td>\n      <td>0.03</td>\n      <td>0.00</td>\n      <td>0.03</td>\n      <td>38.813758</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>-0.002161</td>\n      <td>-0.004075</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2021</th>\n      <td>ARWR</td>\n      <td>1513749600000</td>\n      <td>3.43</td>\n      <td>3.5850</td>\n      <td>3.2700</td>\n      <td>3.29</td>\n      <td>1378629</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>0.17</td>\n      <td>64.112604</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.006775</td>\n      <td>-0.001134</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2022</th>\n      <td>ARWR</td>\n      <td>1513836000000</td>\n      <td>3.38</td>\n      <td>3.5398</td>\n      <td>3.3700</td>\n      <td>3.40</td>\n      <td>1105958</td>\n      <td>-0.05</td>\n      <td>0.05</td>\n      <td>0.00</td>\n      <td>56.223402</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.010123</td>\n      <td>0.001715</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2023</th>\n      <td>ARWR</td>\n      <td>1513922400000</td>\n      <td>3.71</td>\n      <td>3.8267</td>\n      <td>3.4240</td>\n      <td>3.45</td>\n      <td>1996695</td>\n      <td>0.33</td>\n      <td>0.00</td>\n      <td>0.33</td>\n      <td>77.400849</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.027901</td>\n      <td>0.008008</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2024</th>\n      <td>ARWR</td>\n      <td>1514268000000</td>\n      <td>3.79</td>\n      <td>3.8600</td>\n      <td>3.6200</td>\n      <td>3.70</td>\n      <td>1054488</td>\n      <td>0.08</td>\n      <td>0.00</td>\n      <td>0.08</td>\n      <td>80.094431</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.043756</td>\n      <td>0.016266</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2025</th>\n      <td>ARWR</td>\n      <td>1514354400000</td>\n      <td>3.84</td>\n      <td>3.9100</td>\n      <td>3.7610</td>\n      <td>3.82</td>\n      <td>1252920</td>\n      <td>0.05</td>\n      <td>0.00</td>\n      <td>0.05</td>\n      <td>81.669970</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.056942</td>\n      <td>0.025380</td>\n      <td>0.129412</td>\n    </tr>\n    <tr>\n      <th>2026</th>\n      <td>ARWR</td>\n      <td>1514440800000</td>\n      <td>3.97</td>\n      <td>4.0300</td>\n      <td>3.8600</td>\n      <td>3.86</td>\n      <td>1110740</td>\n      <td>0.13</td>\n      <td>0.00</td>\n      <td>0.13</td>\n      <td>85.187279</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.072598</td>\n      <td>0.035711</td>\n      <td>0.260317</td>\n    </tr>\n    <tr>\n      <th>2027</th>\n      <td>ARWR</td>\n      <td>1514527200000</td>\n      <td>3.68</td>\n      <td>4.0400</td>\n      <td>3.6500</td>\n      <td>4.00</td>\n      <td>1363573</td>\n      <td>-0.29</td>\n      <td>0.29</td>\n      <td>0.00</td>\n      <td>57.022939</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.067158</td>\n      <td>0.042464</td>\n      <td>0.171975</td>\n    </tr>\n    <tr>\n      <th>2028</th>\n      <td>ARWR</td>\n      <td>1514872800000</td>\n      <td>3.72</td>\n      <td>3.8300</td>\n      <td>3.5700</td>\n      <td>3.69</td>\n      <td>778349</td>\n      <td>0.04</td>\n      <td>0.00</td>\n      <td>0.04</td>\n      <td>59.171267</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.064492</td>\n      <td>0.047126</td>\n      <td>0.151703</td>\n    </tr>\n    <tr>\n      <th>2029</th>\n      <td>ARWR</td>\n      <td>1514959200000</td>\n      <td>4.64</td>\n      <td>4.8800</td>\n      <td>3.7700</td>\n      <td>3.79</td>\n      <td>5875479</td>\n      <td>0.92</td>\n      <td>0.00</td>\n      <td>0.92</td>\n      <td>82.451324</td>\n      <td>3.0100</td>\n      <td>4.88</td>\n      <td>87.165775</td>\n      <td>-12.834225</td>\n      <td>0.114979</td>\n      <td>0.061321</td>\n      <td>0.423313</td>\n    </tr>\n    <tr>\n      <th>2030</th>\n      <td>ARWR</td>\n      <td>1515045600000</td>\n      <td>4.85</td>\n      <td>5.1300</td>\n      <td>4.5000</td>\n      <td>4.58</td>\n      <td>3402024</td>\n      <td>0.21</td>\n      <td>0.00</td>\n      <td>0.21</td>\n      <td>84.742603</td>\n      <td>3.0500</td>\n      <td>5.13</td>\n      <td>86.538462</td>\n      <td>-13.461538</td>\n      <td>0.164049</td>\n      <td>0.082616</td>\n      <td>0.413994</td>\n    </tr>\n    <tr>\n      <th>2031</th>\n      <td>ARWR</td>\n      <td>1515132000000</td>\n      <td>4.87</td>\n      <td>5.2300</td>\n      <td>4.6600</td>\n      <td>4.86</td>\n      <td>2278246</td>\n      <td>0.02</td>\n      <td>0.00</td>\n      <td>0.02</td>\n      <td>84.958420</td>\n      <td>3.0800</td>\n      <td>5.23</td>\n      <td>83.255814</td>\n      <td>-16.744186</td>\n      <td>0.200433</td>\n      <td>0.106862</td>\n      <td>0.440828</td>\n    </tr>\n    <tr>\n      <th>2032</th>\n      <td>ARWR</td>\n      <td>1515391200000</td>\n      <td>4.55</td>\n      <td>4.9000</td>\n      <td>4.3700</td>\n      <td>4.88</td>\n      <td>2659533</td>\n      <td>-0.32</td>\n      <td>0.32</td>\n      <td>0.00</td>\n      <td>67.366376</td>\n      <td>3.1400</td>\n      <td>5.23</td>\n      <td>67.464115</td>\n      <td>-32.535885</td>\n      <td>0.205891</td>\n      <td>0.127124</td>\n      <td>0.226415</td>\n    </tr>\n    <tr>\n      <th>2033</th>\n      <td>ARWR</td>\n      <td>1515477600000</td>\n      <td>4.62</td>\n      <td>4.9000</td>\n      <td>4.4550</td>\n      <td>4.58</td>\n      <td>1430439</td>\n      <td>0.07</td>\n      <td>0.00</td>\n      <td>0.07</td>\n      <td>68.987239</td>\n      <td>3.2271</td>\n      <td>5.23</td>\n      <td>69.544161</td>\n      <td>-30.455839</td>\n      <td>0.211957</td>\n      <td>0.144402</td>\n      <td>0.218997</td>\n    </tr>\n    <tr>\n      <th>2034</th>\n      <td>ARWR</td>\n      <td>1515564000000</td>\n      <td>4.40</td>\n      <td>4.7100</td>\n      <td>4.3100</td>\n      <td>4.57</td>\n      <td>1966340</td>\n      <td>-0.22</td>\n      <td>0.22</td>\n      <td>0.00</td>\n      <td>58.457990</td>\n      <td>3.2700</td>\n      <td>5.23</td>\n      <td>57.653061</td>\n      <td>-42.346939</td>\n      <td>0.199928</td>\n      <td>0.155669</td>\n      <td>0.145833</td>\n    </tr>\n    <tr>\n      <th>2035</th>\n      <td>ARWR</td>\n      <td>1515650400000</td>\n      <td>5.04</td>\n      <td>5.4700</td>\n      <td>4.3700</td>\n      <td>4.44</td>\n      <td>4867172</td>\n      <td>0.64</td>\n      <td>0.00</td>\n      <td>0.64</td>\n      <td>72.530779</td>\n      <td>3.3700</td>\n      <td>5.47</td>\n      <td>79.523810</td>\n      <td>-20.476190</td>\n      <td>0.229962</td>\n      <td>0.170701</td>\n      <td>0.269521</td>\n    </tr>\n    <tr>\n      <th>2036</th>\n      <td>ARWR</td>\n      <td>1515736800000</td>\n      <td>5.72</td>\n      <td>6.2500</td>\n      <td>5.0106</td>\n      <td>5.17</td>\n      <td>7345087</td>\n      <td>0.68</td>\n      <td>0.00</td>\n      <td>0.68</td>\n      <td>80.591337</td>\n      <td>3.4240</td>\n      <td>6.25</td>\n      <td>81.245577</td>\n      <td>-18.754423</td>\n      <td>0.295399</td>\n      <td>0.195873</td>\n      <td>0.554348</td>\n    </tr>\n    <tr>\n      <th>2037</th>\n      <td>ARWR</td>\n      <td>1516082400000</td>\n      <td>5.60</td>\n      <td>5.9100</td>\n      <td>5.3041</td>\n      <td>5.90</td>\n      <td>2922293</td>\n      <td>-0.12</td>\n      <td>0.12</td>\n      <td>0.00</td>\n      <td>76.047488</td>\n      <td>3.5700</td>\n      <td>6.25</td>\n      <td>75.746269</td>\n      <td>-24.253731</td>\n      <td>0.334492</td>\n      <td>0.223803</td>\n      <td>0.505376</td>\n    </tr>\n    <tr>\n      <th>2038</th>\n      <td>ARWR</td>\n      <td>1516168800000</td>\n      <td>5.72</td>\n      <td>5.8600</td>\n      <td>5.3700</td>\n      <td>5.59</td>\n      <td>1863618</td>\n      <td>0.12</td>\n      <td>0.00</td>\n      <td>0.12</td>\n      <td>77.510549</td>\n      <td>3.5700</td>\n      <td>6.25</td>\n      <td>80.223881</td>\n      <td>-19.776119</td>\n      <td>0.368998</td>\n      <td>0.253014</td>\n      <td>0.232759</td>\n    </tr>\n    <tr>\n      <th>2039</th>\n      <td>ARWR</td>\n      <td>1516255200000</td>\n      <td>5.72</td>\n      <td>5.8100</td>\n      <td>5.4000</td>\n      <td>5.41</td>\n      <td>5108776</td>\n      <td>0.00</td>\n      <td>0.00</td>\n      <td>0.00</td>\n      <td>77.510549</td>\n      <td>3.5700</td>\n      <td>6.25</td>\n      <td>80.223881</td>\n      <td>-19.776119</td>\n      <td>0.391442</td>\n      <td>0.280831</td>\n      <td>0.179381</td>\n    </tr>\n    <tr>\n      <th>2040</th>\n      <td>ARWR</td>\n      <td>1516341600000</td>\n      <td>6.29</td>\n      <td>6.4000</td>\n      <td>5.7400</td>\n      <td>5.82</td>\n      <td>4723066</td>\n      <td>0.57</td>\n      <td>0.00</td>\n      <td>0.57</td>\n      <td>83.777106</td>\n      <td>3.5700</td>\n      <td>6.40</td>\n      <td>96.113074</td>\n      <td>-3.886926</td>\n      <td>0.443912</td>\n      <td>0.313571</td>\n      <td>0.291581</td>\n    </tr>\n    <tr>\n      <th>2041</th>\n      <td>ARWR</td>\n      <td>1516600800000</td>\n      <td>6.39</td>\n      <td>6.7500</td>\n      <td>6.2700</td>\n      <td>6.31</td>\n      <td>3043385</td>\n      <td>0.10</td>\n      <td>0.00</td>\n      <td>0.10</td>\n      <td>84.643311</td>\n      <td>3.5700</td>\n      <td>6.75</td>\n      <td>88.679245</td>\n      <td>-11.320755</td>\n      <td>0.486575</td>\n      <td>0.348277</td>\n      <td>0.404396</td>\n    </tr>\n    <tr>\n      <th>2042</th>\n      <td>ARWR</td>\n      <td>1516687200000</td>\n      <td>6.28</td>\n      <td>6.5900</td>\n      <td>6.2400</td>\n      <td>6.46</td>\n      <td>2269747</td>\n      <td>-0.11</td>\n      <td>0.11</td>\n      <td>0.00</td>\n      <td>79.271160</td>\n      <td>3.7700</td>\n      <td>6.75</td>\n      <td>84.228188</td>\n      <td>-15.771812</td>\n      <td>0.506334</td>\n      <td>0.379965</td>\n      <td>0.359307</td>\n    </tr>\n    <tr>\n      <th>2043</th>\n      <td>ARWR</td>\n      <td>1516773600000</td>\n      <td>6.11</td>\n      <td>6.4300</td>\n      <td>5.8350</td>\n      <td>6.31</td>\n      <td>2069802</td>\n      <td>-0.17</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>71.211614</td>\n      <td>4.3100</td>\n      <td>6.75</td>\n      <td>73.770492</td>\n      <td>-26.229508</td>\n      <td>0.503683</td>\n      <td>0.404756</td>\n      <td>0.388636</td>\n    </tr>\n    <tr>\n      <th>2044</th>\n      <td>ARWR</td>\n      <td>1516860000000</td>\n      <td>6.29</td>\n      <td>6.3800</td>\n      <td>6.0600</td>\n      <td>6.19</td>\n      <td>970888</td>\n      <td>0.18</td>\n      <td>0.00</td>\n      <td>0.18</td>\n      <td>74.392408</td>\n      <td>4.3100</td>\n      <td>6.75</td>\n      <td>81.147541</td>\n      <td>-18.852459</td>\n      <td>0.508733</td>\n      <td>0.425584</td>\n      <td>0.248016</td>\n    </tr>\n    <tr>\n      <th>2045</th>\n      <td>ARWR</td>\n      <td>1516946400000</td>\n      <td>6.12</td>\n      <td>6.3500</td>\n      <td>6.1100</td>\n      <td>6.29</td>\n      <td>768893</td>\n      <td>-0.17</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>66.397815</td>\n      <td>4.3100</td>\n      <td>6.75</td>\n      <td>74.180328</td>\n      <td>-25.819672</td>\n      <td>0.494423</td>\n      <td>0.439369</td>\n      <td>0.069930</td>\n    </tr>\n  </tbody>\n</table>\n</div>",
      "text/plain": "     symbol       datetime  close    high     low  open   volume  \\\n2016   ARWR  1513144800000   3.40  3.4100  3.0100  3.30  2037395   \n2017   ARWR  1513231200000   3.15  3.4200  3.0500  3.41  1702102   \n2018   ARWR  1513317600000   3.14  3.2000  3.0800  3.19  1305646   \n2019   ARWR  1513576800000   3.23  3.3950  3.1400  3.15  1254305   \n2020   ARWR  1513663200000   3.26  3.3800  3.2271  3.25  1128590   \n2021   ARWR  1513749600000   3.43  3.5850  3.2700  3.29  1378629   \n2022   ARWR  1513836000000   3.38  3.5398  3.3700  3.40  1105958   \n2023   ARWR  1513922400000   3.71  3.8267  3.4240  3.45  1996695   \n2024   ARWR  1514268000000   3.79  3.8600  3.6200  3.70  1054488   \n2025   ARWR  1514354400000   3.84  3.9100  3.7610  3.82  1252920   \n2026   ARWR  1514440800000   3.97  4.0300  3.8600  3.86  1110740   \n2027   ARWR  1514527200000   3.68  4.0400  3.6500  4.00  1363573   \n2028   ARWR  1514872800000   3.72  3.8300  3.5700  3.69   778349   \n2029   ARWR  1514959200000   4.64  4.8800  3.7700  3.79  5875479   \n2030   ARWR  1515045600000   4.85  5.1300  4.5000  4.58  3402024   \n2031   ARWR  1515132000000   4.87  5.2300  4.6600  4.86  2278246   \n2032   ARWR  1515391200000   4.55  4.9000  4.3700  4.88  2659533   \n2033   ARWR  1515477600000   4.62  4.9000  4.4550  4.58  1430439   \n2034   ARWR  1515564000000   4.40  4.7100  4.3100  4.57  1966340   \n2035   ARWR  1515650400000   5.04  5.4700  4.3700  4.44  4867172   \n2036   ARWR  1515736800000   5.72  6.2500  5.0106  5.17  7345087   \n2037   ARWR  1516082400000   5.60  5.9100  5.3041  5.90  2922293   \n2038   ARWR  1516168800000   5.72  5.8600  5.3700  5.59  1863618   \n2039   ARWR  1516255200000   5.72  5.8100  5.4000  5.41  5108776   \n2040   ARWR  1516341600000   6.29  6.4000  5.7400  5.82  4723066   \n2041   ARWR  1516600800000   6.39  6.7500  6.2700  6.31  3043385   \n2042   ARWR  1516687200000   6.28  6.5900  6.2400  6.46  2269747   \n2043   ARWR  1516773600000   6.11  6.4300  5.8350  6.31  2069802   \n2044   ARWR  1516860000000   6.29  6.3800  6.0600  6.19   970888   \n2045   ARWR  1516946400000   6.12  6.3500  6.1100  6.29   768893   \n\n      change_in_price  down_days  up_days        RSI  low_14  high_14  \\\n2016              NaN        NaN      NaN        NaN     NaN      NaN   \n2017            -0.25       0.25     0.00   0.000000     NaN      NaN   \n2018            -0.01       0.01     0.00   0.000000     NaN      NaN   \n2019             0.09       0.00     0.09  31.419705     NaN      NaN   \n2020             0.03       0.00     0.03  38.813758     NaN      NaN   \n2021             0.17       0.00     0.17  64.112604     NaN      NaN   \n2022            -0.05       0.05     0.00  56.223402     NaN      NaN   \n2023             0.33       0.00     0.33  77.400849     NaN      NaN   \n2024             0.08       0.00     0.08  80.094431     NaN      NaN   \n2025             0.05       0.00     0.05  81.669970     NaN      NaN   \n2026             0.13       0.00     0.13  85.187279     NaN      NaN   \n2027            -0.29       0.29     0.00  57.022939     NaN      NaN   \n2028             0.04       0.00     0.04  59.171267     NaN      NaN   \n2029             0.92       0.00     0.92  82.451324  3.0100     4.88   \n2030             0.21       0.00     0.21  84.742603  3.0500     5.13   \n2031             0.02       0.00     0.02  84.958420  3.0800     5.23   \n2032            -0.32       0.32     0.00  67.366376  3.1400     5.23   \n2033             0.07       0.00     0.07  68.987239  3.2271     5.23   \n2034            -0.22       0.22     0.00  58.457990  3.2700     5.23   \n2035             0.64       0.00     0.64  72.530779  3.3700     5.47   \n2036             0.68       0.00     0.68  80.591337  3.4240     6.25   \n2037            -0.12       0.12     0.00  76.047488  3.5700     6.25   \n2038             0.12       0.00     0.12  77.510549  3.5700     6.25   \n2039             0.00       0.00     0.00  77.510549  3.5700     6.25   \n2040             0.57       0.00     0.57  83.777106  3.5700     6.40   \n2041             0.10       0.00     0.10  84.643311  3.5700     6.75   \n2042            -0.11       0.11     0.00  79.271160  3.7700     6.75   \n2043            -0.17       0.17     0.00  71.211614  4.3100     6.75   \n2044             0.18       0.00     0.18  74.392408  4.3100     6.75   \n2045            -0.17       0.17     0.00  66.397815  4.3100     6.75   \n\n      k_percent  r_percent      MACD  MACD_EMA  Price_Rate_Of_Change  \n2016        NaN        NaN  0.000000  0.000000                   NaN  \n2017        NaN        NaN -0.005609 -0.003116                   NaN  \n2018        NaN        NaN -0.007457 -0.004895                   NaN  \n2019        NaN        NaN -0.004865 -0.004885                   NaN  \n2020        NaN        NaN -0.002161 -0.004075                   NaN  \n2021        NaN        NaN  0.006775 -0.001134                   NaN  \n2022        NaN        NaN  0.010123  0.001715                   NaN  \n2023        NaN        NaN  0.027901  0.008008                   NaN  \n2024        NaN        NaN  0.043756  0.016266                   NaN  \n2025        NaN        NaN  0.056942  0.025380              0.129412  \n2026        NaN        NaN  0.072598  0.035711              0.260317  \n2027        NaN        NaN  0.067158  0.042464              0.171975  \n2028        NaN        NaN  0.064492  0.047126              0.151703  \n2029  87.165775 -12.834225  0.114979  0.061321              0.423313  \n2030  86.538462 -13.461538  0.164049  0.082616              0.413994  \n2031  83.255814 -16.744186  0.200433  0.106862              0.440828  \n2032  67.464115 -32.535885  0.205891  0.127124              0.226415  \n2033  69.544161 -30.455839  0.211957  0.144402              0.218997  \n2034  57.653061 -42.346939  0.199928  0.155669              0.145833  \n2035  79.523810 -20.476190  0.229962  0.170701              0.269521  \n2036  81.245577 -18.754423  0.295399  0.195873              0.554348  \n2037  75.746269 -24.253731  0.334492  0.223803              0.505376  \n2038  80.223881 -19.776119  0.368998  0.253014              0.232759  \n2039  80.223881 -19.776119  0.391442  0.280831              0.179381  \n2040  96.113074  -3.886926  0.443912  0.313571              0.291581  \n2041  88.679245 -11.320755  0.486575  0.348277              0.404396  \n2042  84.228188 -15.771812  0.506334  0.379965              0.359307  \n2043  73.770492 -26.229508  0.503683  0.404756              0.388636  \n2044  81.147541 -18.852459  0.508733  0.425584              0.248016  \n2045  74.180328 -25.819672  0.494423  0.439369              0.069930  "
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Calculate the Price Rate of Change\n",
    "n = 9\n",
    "\n",
    "# Calculate the Rate of Change in the Price, and store it in the Data Frame.\n",
    "price_data['Price_Rate_Of_Change'] = price_data.groupby('symbol')['close'].transform(lambda x: x.pct_change(periods = n))\n",
    "\n",
    "# Print the first 30 rows\n",
    "price_data.head(30)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Indicator Calculation: On Balance Volume\n",
    "\n",
    "#### Definition From Paper:\n",
    "\n",
    "On balance volume (OBV) (Granville 1976) utilizes changes in volume to estimate changes in stock prices. This technical indicator is used to d buying and selling trends of a stock, by considering the cumulative volume: it cumulatively adds the volumes on days when the prices group, and subtracts the volume on the days when prices go down, compared to the prices of the previous day.\n",
    "\n",
    "#### Formula:\n",
    "\n",
    "$\n",
    "\\begin{equation}\n",
    "OBV (t) =\n",
    "    \\begin{cases}\n",
    "      \\text{OBV(t - 1) + Vol(t) if C(t) > C(t-1)}\\\\\n",
    "      \\text{OBV(t - 1) - Vol(t) if C(t) < C(t-1)}\\\\\n",
    "      \\text{OBV(t - 1) if C(t) = C(t-1)}\\\\\n",
    "    \\end{cases}\\\\\n",
    "\\\\\n",
    "\\text{where,}\\\\\n",
    "\\\\\n",
    "\\text{OBV (t) = on balance volume at time t}\\\\\n",
    "\\\\\n",
    "\\text{Vol(t) = trading volume at time t}\\\\\n",
    "\\\\\n",
    "\\text{C(t) = closing price at time t}\\\\\n",
    "\\end{equation}\n",
    "$\n",
    "\n",
    "**Code:**\n",
    "\n",
    "This portion is a little more complicated than the previous ones. However, the idea is still the same. I'm going to be working with groups but in this case I'll be using the `apply` method to apply a custom function I built to calculate the `On Balance Volume`. The function simply calculates the `diff` for the closing price and uses a `for loop` to loop through each row in the `volume` column. If the `change in price`  was greater than 0 we add the volume, if it's less than 0 we subtract the volume and if it's 0 then we leave it alone.\n",
    "\n",
    "When I return the values I need to make sure it's a `pandas.Series` object with an `index`. Once I have the `pandas.Series` I just add it to the dataframe like in previous examples."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>symbol</th>\n      <th>datetime</th>\n      <th>close</th>\n      <th>high</th>\n      <th>low</th>\n      <th>open</th>\n      <th>volume</th>\n      <th>change_in_price</th>\n      <th>down_days</th>\n      <th>up_days</th>\n      <th>RSI</th>\n      <th>low_14</th>\n      <th>high_14</th>\n      <th>k_percent</th>\n      <th>r_percent</th>\n      <th>MACD</th>\n      <th>MACD_EMA</th>\n      <th>Price_Rate_Of_Change</th>\n      <th>On Balance Volume</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>2016</th>\n      <td>ARWR</td>\n      <td>1513144800000</td>\n      <td>3.40</td>\n      <td>3.4100</td>\n      <td>3.0100</td>\n      <td>3.30</td>\n      <td>2037395</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>NaN</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>2017</th>\n      <td>ARWR</td>\n      <td>1513231200000</td>\n      <td>3.15</td>\n      <td>3.4200</td>\n      <td>3.0500</td>\n      <td>3.41</td>\n      <td>1702102</td>\n      <td>-0.25</td>\n      <td>0.25</td>\n      <td>0.00</td>\n      <td>0.000000</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>-0.005609</td>\n      <td>-0.003116</td>\n      <td>NaN</td>\n      <td>-1702102</td>\n    </tr>\n    <tr>\n      <th>2018</th>\n      <td>ARWR</td>\n      <td>1513317600000</td>\n      <td>3.14</td>\n      <td>3.2000</td>\n      <td>3.0800</td>\n      <td>3.19</td>\n      <td>1305646</td>\n      <td>-0.01</td>\n      <td>0.01</td>\n      <td>0.00</td>\n      <td>0.000000</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>-0.007457</td>\n      <td>-0.004895</td>\n      <td>NaN</td>\n      <td>-3007748</td>\n    </tr>\n    <tr>\n      <th>2019</th>\n      <td>ARWR</td>\n      <td>1513576800000</td>\n      <td>3.23</td>\n      <td>3.3950</td>\n      <td>3.1400</td>\n      <td>3.15</td>\n      <td>1254305</td>\n      <td>0.09</td>\n      <td>0.00</td>\n      <td>0.09</td>\n      <td>31.419705</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>-0.004865</td>\n      <td>-0.004885</td>\n      <td>NaN</td>\n      <td>-1753443</td>\n    </tr>\n    <tr>\n      <th>2020</th>\n      <td>ARWR</td>\n      <td>1513663200000</td>\n      <td>3.26</td>\n      <td>3.3800</td>\n      <td>3.2271</td>\n      <td>3.25</td>\n      <td>1128590</td>\n      <td>0.03</td>\n      <td>0.00</td>\n      <td>0.03</td>\n      <td>38.813758</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>-0.002161</td>\n      <td>-0.004075</td>\n      <td>NaN</td>\n      <td>-624853</td>\n    </tr>\n    <tr>\n      <th>2021</th>\n      <td>ARWR</td>\n      <td>1513749600000</td>\n      <td>3.43</td>\n      <td>3.5850</td>\n      <td>3.2700</td>\n      <td>3.29</td>\n      <td>1378629</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>0.17</td>\n      <td>64.112604</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.006775</td>\n      <td>-0.001134</td>\n      <td>NaN</td>\n      <td>753776</td>\n    </tr>\n    <tr>\n      <th>2022</th>\n      <td>ARWR</td>\n      <td>1513836000000</td>\n      <td>3.38</td>\n      <td>3.5398</td>\n      <td>3.3700</td>\n      <td>3.40</td>\n      <td>1105958</td>\n      <td>-0.05</td>\n      <td>0.05</td>\n      <td>0.00</td>\n      <td>56.223402</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.010123</td>\n      <td>0.001715</td>\n      <td>NaN</td>\n      <td>-352182</td>\n    </tr>\n    <tr>\n      <th>2023</th>\n      <td>ARWR</td>\n      <td>1513922400000</td>\n      <td>3.71</td>\n      <td>3.8267</td>\n      <td>3.4240</td>\n      <td>3.45</td>\n      <td>1996695</td>\n      <td>0.33</td>\n      <td>0.00</td>\n      <td>0.33</td>\n      <td>77.400849</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.027901</td>\n      <td>0.008008</td>\n      <td>NaN</td>\n      <td>1644513</td>\n    </tr>\n    <tr>\n      <th>2024</th>\n      <td>ARWR</td>\n      <td>1514268000000</td>\n      <td>3.79</td>\n      <td>3.8600</td>\n      <td>3.6200</td>\n      <td>3.70</td>\n      <td>1054488</td>\n      <td>0.08</td>\n      <td>0.00</td>\n      <td>0.08</td>\n      <td>80.094431</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.043756</td>\n      <td>0.016266</td>\n      <td>NaN</td>\n      <td>2699001</td>\n    </tr>\n    <tr>\n      <th>2025</th>\n      <td>ARWR</td>\n      <td>1514354400000</td>\n      <td>3.84</td>\n      <td>3.9100</td>\n      <td>3.7610</td>\n      <td>3.82</td>\n      <td>1252920</td>\n      <td>0.05</td>\n      <td>0.00</td>\n      <td>0.05</td>\n      <td>81.669970</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.056942</td>\n      <td>0.025380</td>\n      <td>0.129412</td>\n      <td>3951921</td>\n    </tr>\n    <tr>\n      <th>2026</th>\n      <td>ARWR</td>\n      <td>1514440800000</td>\n      <td>3.97</td>\n      <td>4.0300</td>\n      <td>3.8600</td>\n      <td>3.86</td>\n      <td>1110740</td>\n      <td>0.13</td>\n      <td>0.00</td>\n      <td>0.13</td>\n      <td>85.187279</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.072598</td>\n      <td>0.035711</td>\n      <td>0.260317</td>\n      <td>5062661</td>\n    </tr>\n    <tr>\n      <th>2027</th>\n      <td>ARWR</td>\n      <td>1514527200000</td>\n      <td>3.68</td>\n      <td>4.0400</td>\n      <td>3.6500</td>\n      <td>4.00</td>\n      <td>1363573</td>\n      <td>-0.29</td>\n      <td>0.29</td>\n      <td>0.00</td>\n      <td>57.022939</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.067158</td>\n      <td>0.042464</td>\n      <td>0.171975</td>\n      <td>3699088</td>\n    </tr>\n    <tr>\n      <th>2028</th>\n      <td>ARWR</td>\n      <td>1514872800000</td>\n      <td>3.72</td>\n      <td>3.8300</td>\n      <td>3.5700</td>\n      <td>3.69</td>\n      <td>778349</td>\n      <td>0.04</td>\n      <td>0.00</td>\n      <td>0.04</td>\n      <td>59.171267</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.064492</td>\n      <td>0.047126</td>\n      <td>0.151703</td>\n      <td>4477437</td>\n    </tr>\n    <tr>\n      <th>2029</th>\n      <td>ARWR</td>\n      <td>1514959200000</td>\n      <td>4.64</td>\n      <td>4.8800</td>\n      <td>3.7700</td>\n      <td>3.79</td>\n      <td>5875479</td>\n      <td>0.92</td>\n      <td>0.00</td>\n      <td>0.92</td>\n      <td>82.451324</td>\n      <td>3.0100</td>\n      <td>4.88</td>\n      <td>87.165775</td>\n      <td>-12.834225</td>\n      <td>0.114979</td>\n      <td>0.061321</td>\n      <td>0.423313</td>\n      <td>10352916</td>\n    </tr>\n    <tr>\n      <th>2030</th>\n      <td>ARWR</td>\n      <td>1515045600000</td>\n      <td>4.85</td>\n      <td>5.1300</td>\n      <td>4.5000</td>\n      <td>4.58</td>\n      <td>3402024</td>\n      <td>0.21</td>\n      <td>0.00</td>\n      <td>0.21</td>\n      <td>84.742603</td>\n      <td>3.0500</td>\n      <td>5.13</td>\n      <td>86.538462</td>\n      <td>-13.461538</td>\n      <td>0.164049</td>\n      <td>0.082616</td>\n      <td>0.413994</td>\n      <td>13754940</td>\n    </tr>\n    <tr>\n      <th>2031</th>\n      <td>ARWR</td>\n      <td>1515132000000</td>\n      <td>4.87</td>\n      <td>5.2300</td>\n      <td>4.6600</td>\n      <td>4.86</td>\n      <td>2278246</td>\n      <td>0.02</td>\n      <td>0.00</td>\n      <td>0.02</td>\n      <td>84.958420</td>\n      <td>3.0800</td>\n      <td>5.23</td>\n      <td>83.255814</td>\n      <td>-16.744186</td>\n      <td>0.200433</td>\n      <td>0.106862</td>\n      <td>0.440828</td>\n      <td>16033186</td>\n    </tr>\n    <tr>\n      <th>2032</th>\n      <td>ARWR</td>\n      <td>1515391200000</td>\n      <td>4.55</td>\n      <td>4.9000</td>\n      <td>4.3700</td>\n      <td>4.88</td>\n      <td>2659533</td>\n      <td>-0.32</td>\n      <td>0.32</td>\n      <td>0.00</td>\n      <td>67.366376</td>\n      <td>3.1400</td>\n      <td>5.23</td>\n      <td>67.464115</td>\n      <td>-32.535885</td>\n      <td>0.205891</td>\n      <td>0.127124</td>\n      <td>0.226415</td>\n      <td>13373653</td>\n    </tr>\n    <tr>\n      <th>2033</th>\n      <td>ARWR</td>\n      <td>1515477600000</td>\n      <td>4.62</td>\n      <td>4.9000</td>\n      <td>4.4550</td>\n      <td>4.58</td>\n      <td>1430439</td>\n      <td>0.07</td>\n      <td>0.00</td>\n      <td>0.07</td>\n      <td>68.987239</td>\n      <td>3.2271</td>\n      <td>5.23</td>\n      <td>69.544161</td>\n      <td>-30.455839</td>\n      <td>0.211957</td>\n      <td>0.144402</td>\n      <td>0.218997</td>\n      <td>14804092</td>\n    </tr>\n    <tr>\n      <th>2034</th>\n      <td>ARWR</td>\n      <td>1515564000000</td>\n      <td>4.40</td>\n      <td>4.7100</td>\n      <td>4.3100</td>\n      <td>4.57</td>\n      <td>1966340</td>\n      <td>-0.22</td>\n      <td>0.22</td>\n      <td>0.00</td>\n      <td>58.457990</td>\n      <td>3.2700</td>\n      <td>5.23</td>\n      <td>57.653061</td>\n      <td>-42.346939</td>\n      <td>0.199928</td>\n      <td>0.155669</td>\n      <td>0.145833</td>\n      <td>12837752</td>\n    </tr>\n    <tr>\n      <th>2035</th>\n      <td>ARWR</td>\n      <td>1515650400000</td>\n      <td>5.04</td>\n      <td>5.4700</td>\n      <td>4.3700</td>\n      <td>4.44</td>\n      <td>4867172</td>\n      <td>0.64</td>\n      <td>0.00</td>\n      <td>0.64</td>\n      <td>72.530779</td>\n      <td>3.3700</td>\n      <td>5.47</td>\n      <td>79.523810</td>\n      <td>-20.476190</td>\n      <td>0.229962</td>\n      <td>0.170701</td>\n      <td>0.269521</td>\n      <td>17704924</td>\n    </tr>\n    <tr>\n      <th>2036</th>\n      <td>ARWR</td>\n      <td>1515736800000</td>\n      <td>5.72</td>\n      <td>6.2500</td>\n      <td>5.0106</td>\n      <td>5.17</td>\n      <td>7345087</td>\n      <td>0.68</td>\n      <td>0.00</td>\n      <td>0.68</td>\n      <td>80.591337</td>\n      <td>3.4240</td>\n      <td>6.25</td>\n      <td>81.245577</td>\n      <td>-18.754423</td>\n      <td>0.295399</td>\n      <td>0.195873</td>\n      <td>0.554348</td>\n      <td>25050011</td>\n    </tr>\n    <tr>\n      <th>2037</th>\n      <td>ARWR</td>\n      <td>1516082400000</td>\n      <td>5.60</td>\n      <td>5.9100</td>\n      <td>5.3041</td>\n      <td>5.90</td>\n      <td>2922293</td>\n      <td>-0.12</td>\n      <td>0.12</td>\n      <td>0.00</td>\n      <td>76.047488</td>\n      <td>3.5700</td>\n      <td>6.25</td>\n      <td>75.746269</td>\n      <td>-24.253731</td>\n      <td>0.334492</td>\n      <td>0.223803</td>\n      <td>0.505376</td>\n      <td>22127718</td>\n    </tr>\n    <tr>\n      <th>2038</th>\n      <td>ARWR</td>\n      <td>1516168800000</td>\n      <td>5.72</td>\n      <td>5.8600</td>\n      <td>5.3700</td>\n      <td>5.59</td>\n      <td>1863618</td>\n      <td>0.12</td>\n      <td>0.00</td>\n      <td>0.12</td>\n      <td>77.510549</td>\n      <td>3.5700</td>\n      <td>6.25</td>\n      <td>80.223881</td>\n      <td>-19.776119</td>\n      <td>0.368998</td>\n      <td>0.253014</td>\n      <td>0.232759</td>\n      <td>23991336</td>\n    </tr>\n    <tr>\n      <th>2039</th>\n      <td>ARWR</td>\n      <td>1516255200000</td>\n      <td>5.72</td>\n      <td>5.8100</td>\n      <td>5.4000</td>\n      <td>5.41</td>\n      <td>5108776</td>\n      <td>0.00</td>\n      <td>0.00</td>\n      <td>0.00</td>\n      <td>77.510549</td>\n      <td>3.5700</td>\n      <td>6.25</td>\n      <td>80.223881</td>\n      <td>-19.776119</td>\n      <td>0.391442</td>\n      <td>0.280831</td>\n      <td>0.179381</td>\n      <td>23991336</td>\n    </tr>\n    <tr>\n      <th>2040</th>\n      <td>ARWR</td>\n      <td>1516341600000</td>\n      <td>6.29</td>\n      <td>6.4000</td>\n      <td>5.7400</td>\n      <td>5.82</td>\n      <td>4723066</td>\n      <td>0.57</td>\n      <td>0.00</td>\n      <td>0.57</td>\n      <td>83.777106</td>\n      <td>3.5700</td>\n      <td>6.40</td>\n      <td>96.113074</td>\n      <td>-3.886926</td>\n      <td>0.443912</td>\n      <td>0.313571</td>\n      <td>0.291581</td>\n      <td>28714402</td>\n    </tr>\n    <tr>\n      <th>2041</th>\n      <td>ARWR</td>\n      <td>1516600800000</td>\n      <td>6.39</td>\n      <td>6.7500</td>\n      <td>6.2700</td>\n      <td>6.31</td>\n      <td>3043385</td>\n      <td>0.10</td>\n      <td>0.00</td>\n      <td>0.10</td>\n      <td>84.643311</td>\n      <td>3.5700</td>\n      <td>6.75</td>\n      <td>88.679245</td>\n      <td>-11.320755</td>\n      <td>0.486575</td>\n      <td>0.348277</td>\n      <td>0.404396</td>\n      <td>31757787</td>\n    </tr>\n    <tr>\n      <th>2042</th>\n      <td>ARWR</td>\n      <td>1516687200000</td>\n      <td>6.28</td>\n      <td>6.5900</td>\n      <td>6.2400</td>\n      <td>6.46</td>\n      <td>2269747</td>\n      <td>-0.11</td>\n      <td>0.11</td>\n      <td>0.00</td>\n      <td>79.271160</td>\n      <td>3.7700</td>\n      <td>6.75</td>\n      <td>84.228188</td>\n      <td>-15.771812</td>\n      <td>0.506334</td>\n      <td>0.379965</td>\n      <td>0.359307</td>\n      <td>29488040</td>\n    </tr>\n    <tr>\n      <th>2043</th>\n      <td>ARWR</td>\n      <td>1516773600000</td>\n      <td>6.11</td>\n      <td>6.4300</td>\n      <td>5.8350</td>\n      <td>6.31</td>\n      <td>2069802</td>\n      <td>-0.17</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>71.211614</td>\n      <td>4.3100</td>\n      <td>6.75</td>\n      <td>73.770492</td>\n      <td>-26.229508</td>\n      <td>0.503683</td>\n      <td>0.404756</td>\n      <td>0.388636</td>\n      <td>27418238</td>\n    </tr>\n    <tr>\n      <th>2044</th>\n      <td>ARWR</td>\n      <td>1516860000000</td>\n      <td>6.29</td>\n      <td>6.3800</td>\n      <td>6.0600</td>\n      <td>6.19</td>\n      <td>970888</td>\n      <td>0.18</td>\n      <td>0.00</td>\n      <td>0.18</td>\n      <td>74.392408</td>\n      <td>4.3100</td>\n      <td>6.75</td>\n      <td>81.147541</td>\n      <td>-18.852459</td>\n      <td>0.508733</td>\n      <td>0.425584</td>\n      <td>0.248016</td>\n      <td>28389126</td>\n    </tr>\n    <tr>\n      <th>2045</th>\n      <td>ARWR</td>\n      <td>1516946400000</td>\n      <td>6.12</td>\n      <td>6.3500</td>\n      <td>6.1100</td>\n      <td>6.29</td>\n      <td>768893</td>\n      <td>-0.17</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>66.397815</td>\n      <td>4.3100</td>\n      <td>6.75</td>\n      <td>74.180328</td>\n      <td>-25.819672</td>\n      <td>0.494423</td>\n      <td>0.439369</td>\n      <td>0.069930</td>\n      <td>27620233</td>\n    </tr>\n  </tbody>\n</table>\n</div>",
      "text/plain": "     symbol       datetime  close    high     low  open   volume  \\\n2016   ARWR  1513144800000   3.40  3.4100  3.0100  3.30  2037395   \n2017   ARWR  1513231200000   3.15  3.4200  3.0500  3.41  1702102   \n2018   ARWR  1513317600000   3.14  3.2000  3.0800  3.19  1305646   \n2019   ARWR  1513576800000   3.23  3.3950  3.1400  3.15  1254305   \n2020   ARWR  1513663200000   3.26  3.3800  3.2271  3.25  1128590   \n2021   ARWR  1513749600000   3.43  3.5850  3.2700  3.29  1378629   \n2022   ARWR  1513836000000   3.38  3.5398  3.3700  3.40  1105958   \n2023   ARWR  1513922400000   3.71  3.8267  3.4240  3.45  1996695   \n2024   ARWR  1514268000000   3.79  3.8600  3.6200  3.70  1054488   \n2025   ARWR  1514354400000   3.84  3.9100  3.7610  3.82  1252920   \n2026   ARWR  1514440800000   3.97  4.0300  3.8600  3.86  1110740   \n2027   ARWR  1514527200000   3.68  4.0400  3.6500  4.00  1363573   \n2028   ARWR  1514872800000   3.72  3.8300  3.5700  3.69   778349   \n2029   ARWR  1514959200000   4.64  4.8800  3.7700  3.79  5875479   \n2030   ARWR  1515045600000   4.85  5.1300  4.5000  4.58  3402024   \n2031   ARWR  1515132000000   4.87  5.2300  4.6600  4.86  2278246   \n2032   ARWR  1515391200000   4.55  4.9000  4.3700  4.88  2659533   \n2033   ARWR  1515477600000   4.62  4.9000  4.4550  4.58  1430439   \n2034   ARWR  1515564000000   4.40  4.7100  4.3100  4.57  1966340   \n2035   ARWR  1515650400000   5.04  5.4700  4.3700  4.44  4867172   \n2036   ARWR  1515736800000   5.72  6.2500  5.0106  5.17  7345087   \n2037   ARWR  1516082400000   5.60  5.9100  5.3041  5.90  2922293   \n2038   ARWR  1516168800000   5.72  5.8600  5.3700  5.59  1863618   \n2039   ARWR  1516255200000   5.72  5.8100  5.4000  5.41  5108776   \n2040   ARWR  1516341600000   6.29  6.4000  5.7400  5.82  4723066   \n2041   ARWR  1516600800000   6.39  6.7500  6.2700  6.31  3043385   \n2042   ARWR  1516687200000   6.28  6.5900  6.2400  6.46  2269747   \n2043   ARWR  1516773600000   6.11  6.4300  5.8350  6.31  2069802   \n2044   ARWR  1516860000000   6.29  6.3800  6.0600  6.19   970888   \n2045   ARWR  1516946400000   6.12  6.3500  6.1100  6.29   768893   \n\n      change_in_price  down_days  up_days        RSI  low_14  high_14  \\\n2016              NaN        NaN      NaN        NaN     NaN      NaN   \n2017            -0.25       0.25     0.00   0.000000     NaN      NaN   \n2018            -0.01       0.01     0.00   0.000000     NaN      NaN   \n2019             0.09       0.00     0.09  31.419705     NaN      NaN   \n2020             0.03       0.00     0.03  38.813758     NaN      NaN   \n2021             0.17       0.00     0.17  64.112604     NaN      NaN   \n2022            -0.05       0.05     0.00  56.223402     NaN      NaN   \n2023             0.33       0.00     0.33  77.400849     NaN      NaN   \n2024             0.08       0.00     0.08  80.094431     NaN      NaN   \n2025             0.05       0.00     0.05  81.669970     NaN      NaN   \n2026             0.13       0.00     0.13  85.187279     NaN      NaN   \n2027            -0.29       0.29     0.00  57.022939     NaN      NaN   \n2028             0.04       0.00     0.04  59.171267     NaN      NaN   \n2029             0.92       0.00     0.92  82.451324  3.0100     4.88   \n2030             0.21       0.00     0.21  84.742603  3.0500     5.13   \n2031             0.02       0.00     0.02  84.958420  3.0800     5.23   \n2032            -0.32       0.32     0.00  67.366376  3.1400     5.23   \n2033             0.07       0.00     0.07  68.987239  3.2271     5.23   \n2034            -0.22       0.22     0.00  58.457990  3.2700     5.23   \n2035             0.64       0.00     0.64  72.530779  3.3700     5.47   \n2036             0.68       0.00     0.68  80.591337  3.4240     6.25   \n2037            -0.12       0.12     0.00  76.047488  3.5700     6.25   \n2038             0.12       0.00     0.12  77.510549  3.5700     6.25   \n2039             0.00       0.00     0.00  77.510549  3.5700     6.25   \n2040             0.57       0.00     0.57  83.777106  3.5700     6.40   \n2041             0.10       0.00     0.10  84.643311  3.5700     6.75   \n2042            -0.11       0.11     0.00  79.271160  3.7700     6.75   \n2043            -0.17       0.17     0.00  71.211614  4.3100     6.75   \n2044             0.18       0.00     0.18  74.392408  4.3100     6.75   \n2045            -0.17       0.17     0.00  66.397815  4.3100     6.75   \n\n      k_percent  r_percent      MACD  MACD_EMA  Price_Rate_Of_Change  \\\n2016        NaN        NaN  0.000000  0.000000                   NaN   \n2017        NaN        NaN -0.005609 -0.003116                   NaN   \n2018        NaN        NaN -0.007457 -0.004895                   NaN   \n2019        NaN        NaN -0.004865 -0.004885                   NaN   \n2020        NaN        NaN -0.002161 -0.004075                   NaN   \n2021        NaN        NaN  0.006775 -0.001134                   NaN   \n2022        NaN        NaN  0.010123  0.001715                   NaN   \n2023        NaN        NaN  0.027901  0.008008                   NaN   \n2024        NaN        NaN  0.043756  0.016266                   NaN   \n2025        NaN        NaN  0.056942  0.025380              0.129412   \n2026        NaN        NaN  0.072598  0.035711              0.260317   \n2027        NaN        NaN  0.067158  0.042464              0.171975   \n2028        NaN        NaN  0.064492  0.047126              0.151703   \n2029  87.165775 -12.834225  0.114979  0.061321              0.423313   \n2030  86.538462 -13.461538  0.164049  0.082616              0.413994   \n2031  83.255814 -16.744186  0.200433  0.106862              0.440828   \n2032  67.464115 -32.535885  0.205891  0.127124              0.226415   \n2033  69.544161 -30.455839  0.211957  0.144402              0.218997   \n2034  57.653061 -42.346939  0.199928  0.155669              0.145833   \n2035  79.523810 -20.476190  0.229962  0.170701              0.269521   \n2036  81.245577 -18.754423  0.295399  0.195873              0.554348   \n2037  75.746269 -24.253731  0.334492  0.223803              0.505376   \n2038  80.223881 -19.776119  0.368998  0.253014              0.232759   \n2039  80.223881 -19.776119  0.391442  0.280831              0.179381   \n2040  96.113074  -3.886926  0.443912  0.313571              0.291581   \n2041  88.679245 -11.320755  0.486575  0.348277              0.404396   \n2042  84.228188 -15.771812  0.506334  0.379965              0.359307   \n2043  73.770492 -26.229508  0.503683  0.404756              0.388636   \n2044  81.147541 -18.852459  0.508733  0.425584              0.248016   \n2045  74.180328 -25.819672  0.494423  0.439369              0.069930   \n\n      On Balance Volume  \n2016                  0  \n2017           -1702102  \n2018           -3007748  \n2019           -1753443  \n2020            -624853  \n2021             753776  \n2022            -352182  \n2023            1644513  \n2024            2699001  \n2025            3951921  \n2026            5062661  \n2027            3699088  \n2028            4477437  \n2029           10352916  \n2030           13754940  \n2031           16033186  \n2032           13373653  \n2033           14804092  \n2034           12837752  \n2035           17704924  \n2036           25050011  \n2037           22127718  \n2038           23991336  \n2039           23991336  \n2040           28714402  \n2041           31757787  \n2042           29488040  \n2043           27418238  \n2044           28389126  \n2045           27620233  "
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def obv(group):\n",
    "\n",
    "    # Grab the volume and close column.\n",
    "    volume = group['volume']\n",
    "    change = group['close'].diff()\n",
    "\n",
    "    # intialize the previous OBV\n",
    "    prev_obv = 0\n",
    "    obv_values = []\n",
    "\n",
    "    # calculate the On Balance Volume\n",
    "    for i, j in zip(change, volume):\n",
    "\n",
    "        if i > 0:\n",
    "            current_obv = prev_obv + j\n",
    "        elif i < 0:\n",
    "            current_obv = prev_obv - j\n",
    "        else:\n",
    "            current_obv = prev_obv\n",
    "\n",
    "        # OBV.append(current_OBV)\n",
    "        prev_obv = current_obv\n",
    "        obv_values.append(current_obv)\n",
    "    \n",
    "    # Return a panda series.\n",
    "    return pd.Series(obv_values, index = group.index)\n",
    "        \n",
    "\n",
    "# apply the function to each group\n",
    "obv_groups = price_data.groupby('symbol').apply(obv)\n",
    "\n",
    "# add to the data frame, but drop the old index, before adding it.\n",
    "price_data['On Balance Volume'] = obv_groups.reset_index(level=0, drop=True)\n",
    "\n",
    "# display the data frame.\n",
    "price_data.head(30)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Building the Model: Creating the Prediction Column\n",
    "Now that we have our technical indicators calculated and our price data cleaned up, we are almost ready to build our model. However, we are missing one critical piece of information that is crucial to the model, the column we wish to predict. Now at this point, our data frame doesn't have that column, but we will create it before we feed the data into the model.\n",
    "\n",
    "However, before we create it, I want to take some time and understand the exact problem we are trying to solve. Our goal is to predict whether the next day is either a `down_day` or an `up_day`. Based on this knowledge, we are solving a classification problem. If you don't remember, there are two categories of problems in machine learning, classification, and regression. With classification problems, we try to predict which group new values belong to. For example, based on store sales, are they `outperforming store` or an `underperforming store`. Classification problems are problems that have discrete groups. With regression problems, we are trying to predict non-discrete values and, for example, trying to forecast future sales based on previous sales.\n",
    "\n",
    "In our case, we have a classification problem because we have two discrete groups, `up_days` and `down_days`, and our goal is to take new values (new prices) and classify them into these two groups based on their values.\n",
    "\n",
    "To create our prediction column, we will group our data frame by each `symbol`. After we've created our groups, we need to select the `close` column as this contains the price we need to determine if the stock closed up or down for any given day. Now, we can use a similar logic we used to calculate the price change. However, in this case, we only need to know if the price is higher or lower compared to the previous day.\n",
    "\n",
    "Take your groups, use the `transform` method to apply a lambda function to your groups. The lambda function will use the `diff()` function to compare the current price to the previouse price. We then wrap the results of that function in the `numpy.sign()` function. That function will return `1.0` for negative values (down days), `1.0` for postive values, and `0.0` for no change (flat days)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": "C:\\Users\\Alex\\Anaconda3\\lib\\site-packages\\pandas\\core\\series.py:853: RuntimeWarning: invalid value encountered in sign\n  result = getattr(ufunc, method)(*inputs, **kwargs)\n"
    },
    {
     "data": {
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>symbol</th>\n      <th>datetime</th>\n      <th>close</th>\n      <th>high</th>\n      <th>low</th>\n      <th>open</th>\n      <th>volume</th>\n      <th>change_in_price</th>\n      <th>down_days</th>\n      <th>up_days</th>\n      <th>RSI</th>\n      <th>low_14</th>\n      <th>high_14</th>\n      <th>k_percent</th>\n      <th>r_percent</th>\n      <th>MACD</th>\n      <th>MACD_EMA</th>\n      <th>Price_Rate_Of_Change</th>\n      <th>On Balance Volume</th>\n      <th>Prediction</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>2016</th>\n      <td>ARWR</td>\n      <td>1.513145e+12</td>\n      <td>3.40</td>\n      <td>3.4100</td>\n      <td>3.0100</td>\n      <td>3.30</td>\n      <td>2037395.0</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>NaN</td>\n      <td>0.0</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2017</th>\n      <td>ARWR</td>\n      <td>1.513231e+12</td>\n      <td>3.15</td>\n      <td>3.4200</td>\n      <td>3.0500</td>\n      <td>3.41</td>\n      <td>1702102.0</td>\n      <td>-0.25</td>\n      <td>0.25</td>\n      <td>0.00</td>\n      <td>0.000000</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>-0.005609</td>\n      <td>-0.003116</td>\n      <td>NaN</td>\n      <td>-1702102.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2018</th>\n      <td>ARWR</td>\n      <td>1.513318e+12</td>\n      <td>3.14</td>\n      <td>3.2000</td>\n      <td>3.0800</td>\n      <td>3.19</td>\n      <td>1305646.0</td>\n      <td>-0.01</td>\n      <td>0.01</td>\n      <td>0.00</td>\n      <td>0.000000</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>-0.007457</td>\n      <td>-0.004895</td>\n      <td>NaN</td>\n      <td>-3007748.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2019</th>\n      <td>ARWR</td>\n      <td>1.513577e+12</td>\n      <td>3.23</td>\n      <td>3.3950</td>\n      <td>3.1400</td>\n      <td>3.15</td>\n      <td>1254305.0</td>\n      <td>0.09</td>\n      <td>0.00</td>\n      <td>0.09</td>\n      <td>31.419705</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>-0.004865</td>\n      <td>-0.004885</td>\n      <td>NaN</td>\n      <td>-1753443.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2020</th>\n      <td>ARWR</td>\n      <td>1.513663e+12</td>\n      <td>3.26</td>\n      <td>3.3800</td>\n      <td>3.2271</td>\n      <td>3.25</td>\n      <td>1128590.0</td>\n      <td>0.03</td>\n      <td>0.00</td>\n      <td>0.03</td>\n      <td>38.813758</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>-0.002161</td>\n      <td>-0.004075</td>\n      <td>NaN</td>\n      <td>-624853.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2021</th>\n      <td>ARWR</td>\n      <td>1.513750e+12</td>\n      <td>3.43</td>\n      <td>3.5850</td>\n      <td>3.2700</td>\n      <td>3.29</td>\n      <td>1378629.0</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>0.17</td>\n      <td>64.112604</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.006775</td>\n      <td>-0.001134</td>\n      <td>NaN</td>\n      <td>753776.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2022</th>\n      <td>ARWR</td>\n      <td>1.513836e+12</td>\n      <td>3.38</td>\n      <td>3.5398</td>\n      <td>3.3700</td>\n      <td>3.40</td>\n      <td>1105958.0</td>\n      <td>-0.05</td>\n      <td>0.05</td>\n      <td>0.00</td>\n      <td>56.223402</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.010123</td>\n      <td>0.001715</td>\n      <td>NaN</td>\n      <td>-352182.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2023</th>\n      <td>ARWR</td>\n      <td>1.513922e+12</td>\n      <td>3.71</td>\n      <td>3.8267</td>\n      <td>3.4240</td>\n      <td>3.45</td>\n      <td>1996695.0</td>\n      <td>0.33</td>\n      <td>0.00</td>\n      <td>0.33</td>\n      <td>77.400849</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.027901</td>\n      <td>0.008008</td>\n      <td>NaN</td>\n      <td>1644513.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2024</th>\n      <td>ARWR</td>\n      <td>1.514268e+12</td>\n      <td>3.79</td>\n      <td>3.8600</td>\n      <td>3.6200</td>\n      <td>3.70</td>\n      <td>1054488.0</td>\n      <td>0.08</td>\n      <td>0.00</td>\n      <td>0.08</td>\n      <td>80.094431</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.043756</td>\n      <td>0.016266</td>\n      <td>NaN</td>\n      <td>2699001.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2025</th>\n      <td>ARWR</td>\n      <td>1.514354e+12</td>\n      <td>3.84</td>\n      <td>3.9100</td>\n      <td>3.7610</td>\n      <td>3.82</td>\n      <td>1252920.0</td>\n      <td>0.05</td>\n      <td>0.00</td>\n      <td>0.05</td>\n      <td>81.669970</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.056942</td>\n      <td>0.025380</td>\n      <td>0.129412</td>\n      <td>3951921.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2026</th>\n      <td>ARWR</td>\n      <td>1.514441e+12</td>\n      <td>3.97</td>\n      <td>4.0300</td>\n      <td>3.8600</td>\n      <td>3.86</td>\n      <td>1110740.0</td>\n      <td>0.13</td>\n      <td>0.00</td>\n      <td>0.13</td>\n      <td>85.187279</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.072598</td>\n      <td>0.035711</td>\n      <td>0.260317</td>\n      <td>5062661.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2027</th>\n      <td>ARWR</td>\n      <td>1.514527e+12</td>\n      <td>3.68</td>\n      <td>4.0400</td>\n      <td>3.6500</td>\n      <td>4.00</td>\n      <td>1363573.0</td>\n      <td>-0.29</td>\n      <td>0.29</td>\n      <td>0.00</td>\n      <td>57.022939</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.067158</td>\n      <td>0.042464</td>\n      <td>0.171975</td>\n      <td>3699088.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2028</th>\n      <td>ARWR</td>\n      <td>1.514873e+12</td>\n      <td>3.72</td>\n      <td>3.8300</td>\n      <td>3.5700</td>\n      <td>3.69</td>\n      <td>778349.0</td>\n      <td>0.04</td>\n      <td>0.00</td>\n      <td>0.04</td>\n      <td>59.171267</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.064492</td>\n      <td>0.047126</td>\n      <td>0.151703</td>\n      <td>4477437.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2029</th>\n      <td>ARWR</td>\n      <td>1.514959e+12</td>\n      <td>4.64</td>\n      <td>4.8800</td>\n      <td>3.7700</td>\n      <td>3.79</td>\n      <td>5875479.0</td>\n      <td>0.92</td>\n      <td>0.00</td>\n      <td>0.92</td>\n      <td>82.451324</td>\n      <td>3.0100</td>\n      <td>4.8800</td>\n      <td>87.165775</td>\n      <td>-12.834225</td>\n      <td>0.114979</td>\n      <td>0.061321</td>\n      <td>0.423313</td>\n      <td>10352916.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2030</th>\n      <td>ARWR</td>\n      <td>1.515046e+12</td>\n      <td>4.85</td>\n      <td>5.1300</td>\n      <td>4.5000</td>\n      <td>4.58</td>\n      <td>3402024.0</td>\n      <td>0.21</td>\n      <td>0.00</td>\n      <td>0.21</td>\n      <td>84.742603</td>\n      <td>3.0500</td>\n      <td>5.1300</td>\n      <td>86.538462</td>\n      <td>-13.461538</td>\n      <td>0.164049</td>\n      <td>0.082616</td>\n      <td>0.413994</td>\n      <td>13754940.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2031</th>\n      <td>ARWR</td>\n      <td>1.515132e+12</td>\n      <td>4.87</td>\n      <td>5.2300</td>\n      <td>4.6600</td>\n      <td>4.86</td>\n      <td>2278246.0</td>\n      <td>0.02</td>\n      <td>0.00</td>\n      <td>0.02</td>\n      <td>84.958420</td>\n      <td>3.0800</td>\n      <td>5.2300</td>\n      <td>83.255814</td>\n      <td>-16.744186</td>\n      <td>0.200433</td>\n      <td>0.106862</td>\n      <td>0.440828</td>\n      <td>16033186.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2032</th>\n      <td>ARWR</td>\n      <td>1.515391e+12</td>\n      <td>4.55</td>\n      <td>4.9000</td>\n      <td>4.3700</td>\n      <td>4.88</td>\n      <td>2659533.0</td>\n      <td>-0.32</td>\n      <td>0.32</td>\n      <td>0.00</td>\n      <td>67.366376</td>\n      <td>3.1400</td>\n      <td>5.2300</td>\n      <td>67.464115</td>\n      <td>-32.535885</td>\n      <td>0.205891</td>\n      <td>0.127124</td>\n      <td>0.226415</td>\n      <td>13373653.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2033</th>\n      <td>ARWR</td>\n      <td>1.515478e+12</td>\n      <td>4.62</td>\n      <td>4.9000</td>\n      <td>4.4550</td>\n      <td>4.58</td>\n      <td>1430439.0</td>\n      <td>0.07</td>\n      <td>0.00</td>\n      <td>0.07</td>\n      <td>68.987239</td>\n      <td>3.2271</td>\n      <td>5.2300</td>\n      <td>69.544161</td>\n      <td>-30.455839</td>\n      <td>0.211957</td>\n      <td>0.144402</td>\n      <td>0.218997</td>\n      <td>14804092.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2034</th>\n      <td>ARWR</td>\n      <td>1.515564e+12</td>\n      <td>4.40</td>\n      <td>4.7100</td>\n      <td>4.3100</td>\n      <td>4.57</td>\n      <td>1966340.0</td>\n      <td>-0.22</td>\n      <td>0.22</td>\n      <td>0.00</td>\n      <td>58.457990</td>\n      <td>3.2700</td>\n      <td>5.2300</td>\n      <td>57.653061</td>\n      <td>-42.346939</td>\n      <td>0.199928</td>\n      <td>0.155669</td>\n      <td>0.145833</td>\n      <td>12837752.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2035</th>\n      <td>ARWR</td>\n      <td>1.515650e+12</td>\n      <td>5.04</td>\n      <td>5.4700</td>\n      <td>4.3700</td>\n      <td>4.44</td>\n      <td>4867172.0</td>\n      <td>0.64</td>\n      <td>0.00</td>\n      <td>0.64</td>\n      <td>72.530779</td>\n      <td>3.3700</td>\n      <td>5.4700</td>\n      <td>79.523810</td>\n      <td>-20.476190</td>\n      <td>0.229962</td>\n      <td>0.170701</td>\n      <td>0.269521</td>\n      <td>17704924.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2036</th>\n      <td>ARWR</td>\n      <td>1.515737e+12</td>\n      <td>5.72</td>\n      <td>6.2500</td>\n      <td>5.0106</td>\n      <td>5.17</td>\n      <td>7345087.0</td>\n      <td>0.68</td>\n      <td>0.00</td>\n      <td>0.68</td>\n      <td>80.591337</td>\n      <td>3.4240</td>\n      <td>6.2500</td>\n      <td>81.245577</td>\n      <td>-18.754423</td>\n      <td>0.295399</td>\n      <td>0.195873</td>\n      <td>0.554348</td>\n      <td>25050011.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2037</th>\n      <td>ARWR</td>\n      <td>1.516082e+12</td>\n      <td>5.60</td>\n      <td>5.9100</td>\n      <td>5.3041</td>\n      <td>5.90</td>\n      <td>2922293.0</td>\n      <td>-0.12</td>\n      <td>0.12</td>\n      <td>0.00</td>\n      <td>76.047488</td>\n      <td>3.5700</td>\n      <td>6.2500</td>\n      <td>75.746269</td>\n      <td>-24.253731</td>\n      <td>0.334492</td>\n      <td>0.223803</td>\n      <td>0.505376</td>\n      <td>22127718.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2038</th>\n      <td>ARWR</td>\n      <td>1.516169e+12</td>\n      <td>5.72</td>\n      <td>5.8600</td>\n      <td>5.3700</td>\n      <td>5.59</td>\n      <td>1863618.0</td>\n      <td>0.12</td>\n      <td>0.00</td>\n      <td>0.12</td>\n      <td>77.510549</td>\n      <td>3.5700</td>\n      <td>6.2500</td>\n      <td>80.223881</td>\n      <td>-19.776119</td>\n      <td>0.368998</td>\n      <td>0.253014</td>\n      <td>0.232759</td>\n      <td>23991336.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2039</th>\n      <td>1</td>\n      <td>1.000000e+00</td>\n      <td>1.00</td>\n      <td>1.0000</td>\n      <td>1.0000</td>\n      <td>1.00</td>\n      <td>1.0</td>\n      <td>1.00</td>\n      <td>1.00</td>\n      <td>1.00</td>\n      <td>1.000000</td>\n      <td>1.0000</td>\n      <td>1.0000</td>\n      <td>1.000000</td>\n      <td>1.000000</td>\n      <td>1.000000</td>\n      <td>1.000000</td>\n      <td>1.000000</td>\n      <td>1.0</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2040</th>\n      <td>ARWR</td>\n      <td>1.516342e+12</td>\n      <td>6.29</td>\n      <td>6.4000</td>\n      <td>5.7400</td>\n      <td>5.82</td>\n      <td>4723066.0</td>\n      <td>0.57</td>\n      <td>0.00</td>\n      <td>0.57</td>\n      <td>83.777106</td>\n      <td>3.5700</td>\n      <td>6.4000</td>\n      <td>96.113074</td>\n      <td>-3.886926</td>\n      <td>0.443912</td>\n      <td>0.313571</td>\n      <td>0.291581</td>\n      <td>28714402.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2041</th>\n      <td>ARWR</td>\n      <td>1.516601e+12</td>\n      <td>6.39</td>\n      <td>6.7500</td>\n      <td>6.2700</td>\n      <td>6.31</td>\n      <td>3043385.0</td>\n      <td>0.10</td>\n      <td>0.00</td>\n      <td>0.10</td>\n      <td>84.643311</td>\n      <td>3.5700</td>\n      <td>6.7500</td>\n      <td>88.679245</td>\n      <td>-11.320755</td>\n      <td>0.486575</td>\n      <td>0.348277</td>\n      <td>0.404396</td>\n      <td>31757787.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2042</th>\n      <td>ARWR</td>\n      <td>1.516687e+12</td>\n      <td>6.28</td>\n      <td>6.5900</td>\n      <td>6.2400</td>\n      <td>6.46</td>\n      <td>2269747.0</td>\n      <td>-0.11</td>\n      <td>0.11</td>\n      <td>0.00</td>\n      <td>79.271160</td>\n      <td>3.7700</td>\n      <td>6.7500</td>\n      <td>84.228188</td>\n      <td>-15.771812</td>\n      <td>0.506334</td>\n      <td>0.379965</td>\n      <td>0.359307</td>\n      <td>29488040.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2043</th>\n      <td>ARWR</td>\n      <td>1.516774e+12</td>\n      <td>6.11</td>\n      <td>6.4300</td>\n      <td>5.8350</td>\n      <td>6.31</td>\n      <td>2069802.0</td>\n      <td>-0.17</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>71.211614</td>\n      <td>4.3100</td>\n      <td>6.7500</td>\n      <td>73.770492</td>\n      <td>-26.229508</td>\n      <td>0.503683</td>\n      <td>0.404756</td>\n      <td>0.388636</td>\n      <td>27418238.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2044</th>\n      <td>ARWR</td>\n      <td>1.516860e+12</td>\n      <td>6.29</td>\n      <td>6.3800</td>\n      <td>6.0600</td>\n      <td>6.19</td>\n      <td>970888.0</td>\n      <td>0.18</td>\n      <td>0.00</td>\n      <td>0.18</td>\n      <td>74.392408</td>\n      <td>4.3100</td>\n      <td>6.7500</td>\n      <td>81.147541</td>\n      <td>-18.852459</td>\n      <td>0.508733</td>\n      <td>0.425584</td>\n      <td>0.248016</td>\n      <td>28389126.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2045</th>\n      <td>ARWR</td>\n      <td>1.516946e+12</td>\n      <td>6.12</td>\n      <td>6.3500</td>\n      <td>6.1100</td>\n      <td>6.29</td>\n      <td>768893.0</td>\n      <td>-0.17</td>\n      <td>0.17</td>\n      <td>0.00</td>\n      <td>66.397815</td>\n      <td>4.3100</td>\n      <td>6.7500</td>\n      <td>74.180328</td>\n      <td>-25.819672</td>\n      <td>0.494423</td>\n      <td>0.439369</td>\n      <td>0.069930</td>\n      <td>27620233.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2046</th>\n      <td>ARWR</td>\n      <td>1.517206e+12</td>\n      <td>6.17</td>\n      <td>6.3250</td>\n      <td>6.0600</td>\n      <td>6.24</td>\n      <td>923878.0</td>\n      <td>0.05</td>\n      <td>0.00</td>\n      <td>0.05</td>\n      <td>67.580169</td>\n      <td>4.3100</td>\n      <td>6.7500</td>\n      <td>76.229508</td>\n      <td>-23.770492</td>\n      <td>0.481175</td>\n      <td>0.447738</td>\n      <td>0.101786</td>\n      <td>28544111.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2047</th>\n      <td>ARWR</td>\n      <td>1.517292e+12</td>\n      <td>6.14</td>\n      <td>6.1950</td>\n      <td>5.8700</td>\n      <td>6.10</td>\n      <td>1338050.0</td>\n      <td>-0.03</td>\n      <td>0.03</td>\n      <td>0.00</td>\n      <td>65.973058</td>\n      <td>4.3100</td>\n      <td>6.7500</td>\n      <td>75.000000</td>\n      <td>-25.000000</td>\n      <td>0.463049</td>\n      <td>0.450803</td>\n      <td>0.073427</td>\n      <td>27206061.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2048</th>\n      <td>ARWR</td>\n      <td>1.517378e+12</td>\n      <td>6.18</td>\n      <td>6.3500</td>\n      <td>6.0300</td>\n      <td>6.23</td>\n      <td>756343.0</td>\n      <td>0.04</td>\n      <td>0.00</td>\n      <td>0.04</td>\n      <td>67.174024</td>\n      <td>4.3700</td>\n      <td>6.7500</td>\n      <td>76.050420</td>\n      <td>-23.949580</td>\n      <td>0.446495</td>\n      <td>0.449941</td>\n      <td>0.080420</td>\n      <td>27962404.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2049</th>\n      <td>ARWR</td>\n      <td>1.517465e+12</td>\n      <td>6.15</td>\n      <td>6.2750</td>\n      <td>6.0800</td>\n      <td>6.15</td>\n      <td>769251.0</td>\n      <td>-0.03</td>\n      <td>0.03</td>\n      <td>0.00</td>\n      <td>65.183112</td>\n      <td>5.0106</td>\n      <td>6.7500</td>\n      <td>65.505347</td>\n      <td>-34.494653</td>\n      <td>0.426166</td>\n      <td>0.445184</td>\n      <td>-0.022258</td>\n      <td>27193153.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2050</th>\n      <td>ARWR</td>\n      <td>1.517551e+12</td>\n      <td>5.90</td>\n      <td>6.1500</td>\n      <td>5.8300</td>\n      <td>6.03</td>\n      <td>1353989.0</td>\n      <td>-0.25</td>\n      <td>0.25</td>\n      <td>0.00</td>\n      <td>50.726868</td>\n      <td>5.3041</td>\n      <td>6.7500</td>\n      <td>41.213085</td>\n      <td>-58.786915</td>\n      <td>0.386646</td>\n      <td>0.433471</td>\n      <td>-0.076682</td>\n      <td>25839164.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2051</th>\n      <td>ARWR</td>\n      <td>1.517810e+12</td>\n      <td>5.45</td>\n      <td>5.8700</td>\n      <td>5.4100</td>\n      <td>5.81</td>\n      <td>1316183.0</td>\n      <td>-0.45</td>\n      <td>0.45</td>\n      <td>0.00</td>\n      <td>34.729733</td>\n      <td>5.3700</td>\n      <td>6.7500</td>\n      <td>5.797101</td>\n      <td>-94.202899</td>\n      <td>0.317440</td>\n      <td>0.410257</td>\n      <td>-0.132166</td>\n      <td>24522981.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2052</th>\n      <td>ARWR</td>\n      <td>1.517897e+12</td>\n      <td>5.71</td>\n      <td>5.7300</td>\n      <td>5.1400</td>\n      <td>5.36</td>\n      <td>1533470.0</td>\n      <td>0.26</td>\n      <td>0.00</td>\n      <td>0.26</td>\n      <td>46.068275</td>\n      <td>5.1400</td>\n      <td>6.7500</td>\n      <td>35.403727</td>\n      <td>-64.596273</td>\n      <td>0.279281</td>\n      <td>0.384055</td>\n      <td>-0.065466</td>\n      <td>26056451.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2053</th>\n      <td>ARWR</td>\n      <td>1.517983e+12</td>\n      <td>5.86</td>\n      <td>6.1136</td>\n      <td>5.6700</td>\n      <td>5.69</td>\n      <td>1145797.0</td>\n      <td>0.15</td>\n      <td>0.00</td>\n      <td>0.15</td>\n      <td>51.658483</td>\n      <td>5.1400</td>\n      <td>6.7500</td>\n      <td>44.720497</td>\n      <td>-55.279503</td>\n      <td>0.257588</td>\n      <td>0.358757</td>\n      <td>-0.068362</td>\n      <td>27202248.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2054</th>\n      <td>ARWR</td>\n      <td>1.518070e+12</td>\n      <td>5.66</td>\n      <td>6.0400</td>\n      <td>5.6300</td>\n      <td>5.92</td>\n      <td>835087.0</td>\n      <td>-0.20</td>\n      <td>0.20</td>\n      <td>0.00</td>\n      <td>44.553654</td>\n      <td>5.1400</td>\n      <td>6.7500</td>\n      <td>32.298137</td>\n      <td>-67.701863</td>\n      <td>0.222427</td>\n      <td>0.331486</td>\n      <td>-0.075163</td>\n      <td>26367161.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2055</th>\n      <td>ARWR</td>\n      <td>1.518156e+12</td>\n      <td>5.59</td>\n      <td>5.9800</td>\n      <td>5.3800</td>\n      <td>5.75</td>\n      <td>1244980.0</td>\n      <td>-0.07</td>\n      <td>0.07</td>\n      <td>0.00</td>\n      <td>42.209235</td>\n      <td>5.1400</td>\n      <td>6.5900</td>\n      <td>31.034483</td>\n      <td>-68.965517</td>\n      <td>0.187006</td>\n      <td>0.302586</td>\n      <td>-0.094003</td>\n      <td>25122181.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2056</th>\n      <td>ARWR</td>\n      <td>1.518415e+12</td>\n      <td>5.31</td>\n      <td>5.6500</td>\n      <td>5.3000</td>\n      <td>5.42</td>\n      <td>1626986.0</td>\n      <td>-0.28</td>\n      <td>0.28</td>\n      <td>0.00</td>\n      <td>33.961315</td>\n      <td>5.1400</td>\n      <td>6.4300</td>\n      <td>13.178295</td>\n      <td>-86.821705</td>\n      <td>0.135674</td>\n      <td>0.269200</td>\n      <td>-0.135179</td>\n      <td>23495195.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2057</th>\n      <td>ARWR</td>\n      <td>1.518502e+12</td>\n      <td>5.16</td>\n      <td>5.4200</td>\n      <td>4.7704</td>\n      <td>5.20</td>\n      <td>2050504.0</td>\n      <td>-0.15</td>\n      <td>0.15</td>\n      <td>0.00</td>\n      <td>30.301326</td>\n      <td>4.7704</td>\n      <td>6.3800</td>\n      <td>24.204771</td>\n      <td>-75.795229</td>\n      <td>0.082402</td>\n      <td>0.231837</td>\n      <td>-0.165049</td>\n      <td>21444691.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2058</th>\n      <td>ARWR</td>\n      <td>1.518588e+12</td>\n      <td>5.47</td>\n      <td>5.5500</td>\n      <td>5.0100</td>\n      <td>5.10</td>\n      <td>868219.0</td>\n      <td>0.31</td>\n      <td>0.00</td>\n      <td>0.31</td>\n      <td>44.551062</td>\n      <td>4.7704</td>\n      <td>6.3500</td>\n      <td>44.289694</td>\n      <td>-55.710306</td>\n      <td>0.063644</td>\n      <td>0.198197</td>\n      <td>-0.110569</td>\n      <td>22312910.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2059</th>\n      <td>ARWR</td>\n      <td>1.518674e+12</td>\n      <td>5.83</td>\n      <td>5.9000</td>\n      <td>5.4100</td>\n      <td>5.51</td>\n      <td>1423524.0</td>\n      <td>0.36</td>\n      <td>0.00</td>\n      <td>0.36</td>\n      <td>56.474786</td>\n      <td>4.7704</td>\n      <td>6.3500</td>\n      <td>67.080273</td>\n      <td>-32.919727</td>\n      <td>0.076048</td>\n      <td>0.173765</td>\n      <td>-0.011864</td>\n      <td>23736434.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2060</th>\n      <td>ARWR</td>\n      <td>1.518761e+12</td>\n      <td>5.57</td>\n      <td>5.9500</td>\n      <td>5.4600</td>\n      <td>5.85</td>\n      <td>1198951.0</td>\n      <td>-0.26</td>\n      <td>0.26</td>\n      <td>0.00</td>\n      <td>47.892467</td>\n      <td>4.7704</td>\n      <td>6.3500</td>\n      <td>50.620410</td>\n      <td>-49.379590</td>\n      <td>0.064750</td>\n      <td>0.151961</td>\n      <td>0.022018</td>\n      <td>22537483.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2061</th>\n      <td>ARWR</td>\n      <td>1.519106e+12</td>\n      <td>5.65</td>\n      <td>5.8300</td>\n      <td>5.4800</td>\n      <td>5.48</td>\n      <td>794469.0</td>\n      <td>0.08</td>\n      <td>0.00</td>\n      <td>0.08</td>\n      <td>50.559903</td>\n      <td>4.7704</td>\n      <td>6.3500</td>\n      <td>55.684984</td>\n      <td>-44.315016</td>\n      <td>0.061372</td>\n      <td>0.133843</td>\n      <td>-0.010508</td>\n      <td>23331952.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2062</th>\n      <td>ARWR</td>\n      <td>1.519193e+12</td>\n      <td>5.54</td>\n      <td>5.8100</td>\n      <td>5.5300</td>\n      <td>5.65</td>\n      <td>741605.0</td>\n      <td>-0.11</td>\n      <td>0.11</td>\n      <td>0.00</td>\n      <td>46.762054</td>\n      <td>4.7704</td>\n      <td>6.2750</td>\n      <td>51.149807</td>\n      <td>-48.850193</td>\n      <td>0.049467</td>\n      <td>0.116967</td>\n      <td>-0.054608</td>\n      <td>22590347.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2063</th>\n      <td>1</td>\n      <td>1.000000e+00</td>\n      <td>1.00</td>\n      <td>1.0000</td>\n      <td>1.0000</td>\n      <td>1.00</td>\n      <td>1.0</td>\n      <td>1.00</td>\n      <td>1.00</td>\n      <td>1.00</td>\n      <td>1.000000</td>\n      <td>1.0000</td>\n      <td>1.0000</td>\n      <td>1.000000</td>\n      <td>1.000000</td>\n      <td>1.000000</td>\n      <td>1.000000</td>\n      <td>1.000000</td>\n      <td>1.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2064</th>\n      <td>ARWR</td>\n      <td>1.519366e+12</td>\n      <td>5.80</td>\n      <td>5.8080</td>\n      <td>5.3500</td>\n      <td>5.61</td>\n      <td>955331.0</td>\n      <td>0.26</td>\n      <td>0.00</td>\n      <td>0.26</td>\n      <td>56.940412</td>\n      <td>4.7704</td>\n      <td>6.1136</td>\n      <td>76.652770</td>\n      <td>-23.347230</td>\n      <td>0.051679</td>\n      <td>0.091527</td>\n      <td>0.037567</td>\n      <td>23545678.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2065</th>\n      <td>ARWR</td>\n      <td>1.519625e+12</td>\n      <td>6.56</td>\n      <td>6.6800</td>\n      <td>5.8600</td>\n      <td>5.86</td>\n      <td>2535058.0</td>\n      <td>0.76</td>\n      <td>0.00</td>\n      <td>0.76</td>\n      <td>73.821238</td>\n      <td>4.7704</td>\n      <td>6.6800</td>\n      <td>93.715961</td>\n      <td>-6.284039</td>\n      <td>0.119994</td>\n      <td>0.097220</td>\n      <td>0.235405</td>\n      <td>26080736.0</td>\n      <td>1.0</td>\n    </tr>\n  </tbody>\n</table>\n</div>",
      "text/plain": "     symbol      datetime  close    high     low  open     volume  \\\n2016   ARWR  1.513145e+12   3.40  3.4100  3.0100  3.30  2037395.0   \n2017   ARWR  1.513231e+12   3.15  3.4200  3.0500  3.41  1702102.0   \n2018   ARWR  1.513318e+12   3.14  3.2000  3.0800  3.19  1305646.0   \n2019   ARWR  1.513577e+12   3.23  3.3950  3.1400  3.15  1254305.0   \n2020   ARWR  1.513663e+12   3.26  3.3800  3.2271  3.25  1128590.0   \n2021   ARWR  1.513750e+12   3.43  3.5850  3.2700  3.29  1378629.0   \n2022   ARWR  1.513836e+12   3.38  3.5398  3.3700  3.40  1105958.0   \n2023   ARWR  1.513922e+12   3.71  3.8267  3.4240  3.45  1996695.0   \n2024   ARWR  1.514268e+12   3.79  3.8600  3.6200  3.70  1054488.0   \n2025   ARWR  1.514354e+12   3.84  3.9100  3.7610  3.82  1252920.0   \n2026   ARWR  1.514441e+12   3.97  4.0300  3.8600  3.86  1110740.0   \n2027   ARWR  1.514527e+12   3.68  4.0400  3.6500  4.00  1363573.0   \n2028   ARWR  1.514873e+12   3.72  3.8300  3.5700  3.69   778349.0   \n2029   ARWR  1.514959e+12   4.64  4.8800  3.7700  3.79  5875479.0   \n2030   ARWR  1.515046e+12   4.85  5.1300  4.5000  4.58  3402024.0   \n2031   ARWR  1.515132e+12   4.87  5.2300  4.6600  4.86  2278246.0   \n2032   ARWR  1.515391e+12   4.55  4.9000  4.3700  4.88  2659533.0   \n2033   ARWR  1.515478e+12   4.62  4.9000  4.4550  4.58  1430439.0   \n2034   ARWR  1.515564e+12   4.40  4.7100  4.3100  4.57  1966340.0   \n2035   ARWR  1.515650e+12   5.04  5.4700  4.3700  4.44  4867172.0   \n2036   ARWR  1.515737e+12   5.72  6.2500  5.0106  5.17  7345087.0   \n2037   ARWR  1.516082e+12   5.60  5.9100  5.3041  5.90  2922293.0   \n2038   ARWR  1.516169e+12   5.72  5.8600  5.3700  5.59  1863618.0   \n2039      1  1.000000e+00   1.00  1.0000  1.0000  1.00        1.0   \n2040   ARWR  1.516342e+12   6.29  6.4000  5.7400  5.82  4723066.0   \n2041   ARWR  1.516601e+12   6.39  6.7500  6.2700  6.31  3043385.0   \n2042   ARWR  1.516687e+12   6.28  6.5900  6.2400  6.46  2269747.0   \n2043   ARWR  1.516774e+12   6.11  6.4300  5.8350  6.31  2069802.0   \n2044   ARWR  1.516860e+12   6.29  6.3800  6.0600  6.19   970888.0   \n2045   ARWR  1.516946e+12   6.12  6.3500  6.1100  6.29   768893.0   \n2046   ARWR  1.517206e+12   6.17  6.3250  6.0600  6.24   923878.0   \n2047   ARWR  1.517292e+12   6.14  6.1950  5.8700  6.10  1338050.0   \n2048   ARWR  1.517378e+12   6.18  6.3500  6.0300  6.23   756343.0   \n2049   ARWR  1.517465e+12   6.15  6.2750  6.0800  6.15   769251.0   \n2050   ARWR  1.517551e+12   5.90  6.1500  5.8300  6.03  1353989.0   \n2051   ARWR  1.517810e+12   5.45  5.8700  5.4100  5.81  1316183.0   \n2052   ARWR  1.517897e+12   5.71  5.7300  5.1400  5.36  1533470.0   \n2053   ARWR  1.517983e+12   5.86  6.1136  5.6700  5.69  1145797.0   \n2054   ARWR  1.518070e+12   5.66  6.0400  5.6300  5.92   835087.0   \n2055   ARWR  1.518156e+12   5.59  5.9800  5.3800  5.75  1244980.0   \n2056   ARWR  1.518415e+12   5.31  5.6500  5.3000  5.42  1626986.0   \n2057   ARWR  1.518502e+12   5.16  5.4200  4.7704  5.20  2050504.0   \n2058   ARWR  1.518588e+12   5.47  5.5500  5.0100  5.10   868219.0   \n2059   ARWR  1.518674e+12   5.83  5.9000  5.4100  5.51  1423524.0   \n2060   ARWR  1.518761e+12   5.57  5.9500  5.4600  5.85  1198951.0   \n2061   ARWR  1.519106e+12   5.65  5.8300  5.4800  5.48   794469.0   \n2062   ARWR  1.519193e+12   5.54  5.8100  5.5300  5.65   741605.0   \n2063      1  1.000000e+00   1.00  1.0000  1.0000  1.00        1.0   \n2064   ARWR  1.519366e+12   5.80  5.8080  5.3500  5.61   955331.0   \n2065   ARWR  1.519625e+12   6.56  6.6800  5.8600  5.86  2535058.0   \n\n      change_in_price  down_days  up_days        RSI  low_14  high_14  \\\n2016              NaN        NaN      NaN        NaN     NaN      NaN   \n2017            -0.25       0.25     0.00   0.000000     NaN      NaN   \n2018            -0.01       0.01     0.00   0.000000     NaN      NaN   \n2019             0.09       0.00     0.09  31.419705     NaN      NaN   \n2020             0.03       0.00     0.03  38.813758     NaN      NaN   \n2021             0.17       0.00     0.17  64.112604     NaN      NaN   \n2022            -0.05       0.05     0.00  56.223402     NaN      NaN   \n2023             0.33       0.00     0.33  77.400849     NaN      NaN   \n2024             0.08       0.00     0.08  80.094431     NaN      NaN   \n2025             0.05       0.00     0.05  81.669970     NaN      NaN   \n2026             0.13       0.00     0.13  85.187279     NaN      NaN   \n2027            -0.29       0.29     0.00  57.022939     NaN      NaN   \n2028             0.04       0.00     0.04  59.171267     NaN      NaN   \n2029             0.92       0.00     0.92  82.451324  3.0100   4.8800   \n2030             0.21       0.00     0.21  84.742603  3.0500   5.1300   \n2031             0.02       0.00     0.02  84.958420  3.0800   5.2300   \n2032            -0.32       0.32     0.00  67.366376  3.1400   5.2300   \n2033             0.07       0.00     0.07  68.987239  3.2271   5.2300   \n2034            -0.22       0.22     0.00  58.457990  3.2700   5.2300   \n2035             0.64       0.00     0.64  72.530779  3.3700   5.4700   \n2036             0.68       0.00     0.68  80.591337  3.4240   6.2500   \n2037            -0.12       0.12     0.00  76.047488  3.5700   6.2500   \n2038             0.12       0.00     0.12  77.510549  3.5700   6.2500   \n2039             1.00       1.00     1.00   1.000000  1.0000   1.0000   \n2040             0.57       0.00     0.57  83.777106  3.5700   6.4000   \n2041             0.10       0.00     0.10  84.643311  3.5700   6.7500   \n2042            -0.11       0.11     0.00  79.271160  3.7700   6.7500   \n2043            -0.17       0.17     0.00  71.211614  4.3100   6.7500   \n2044             0.18       0.00     0.18  74.392408  4.3100   6.7500   \n2045            -0.17       0.17     0.00  66.397815  4.3100   6.7500   \n2046             0.05       0.00     0.05  67.580169  4.3100   6.7500   \n2047            -0.03       0.03     0.00  65.973058  4.3100   6.7500   \n2048             0.04       0.00     0.04  67.174024  4.3700   6.7500   \n2049            -0.03       0.03     0.00  65.183112  5.0106   6.7500   \n2050            -0.25       0.25     0.00  50.726868  5.3041   6.7500   \n2051            -0.45       0.45     0.00  34.729733  5.3700   6.7500   \n2052             0.26       0.00     0.26  46.068275  5.1400   6.7500   \n2053             0.15       0.00     0.15  51.658483  5.1400   6.7500   \n2054            -0.20       0.20     0.00  44.553654  5.1400   6.7500   \n2055            -0.07       0.07     0.00  42.209235  5.1400   6.5900   \n2056            -0.28       0.28     0.00  33.961315  5.1400   6.4300   \n2057            -0.15       0.15     0.00  30.301326  4.7704   6.3800   \n2058             0.31       0.00     0.31  44.551062  4.7704   6.3500   \n2059             0.36       0.00     0.36  56.474786  4.7704   6.3500   \n2060            -0.26       0.26     0.00  47.892467  4.7704   6.3500   \n2061             0.08       0.00     0.08  50.559903  4.7704   6.3500   \n2062            -0.11       0.11     0.00  46.762054  4.7704   6.2750   \n2063             1.00       1.00     1.00   1.000000  1.0000   1.0000   \n2064             0.26       0.00     0.26  56.940412  4.7704   6.1136   \n2065             0.76       0.00     0.76  73.821238  4.7704   6.6800   \n\n      k_percent  r_percent      MACD  MACD_EMA  Price_Rate_Of_Change  \\\n2016        NaN        NaN  0.000000  0.000000                   NaN   \n2017        NaN        NaN -0.005609 -0.003116                   NaN   \n2018        NaN        NaN -0.007457 -0.004895                   NaN   \n2019        NaN        NaN -0.004865 -0.004885                   NaN   \n2020        NaN        NaN -0.002161 -0.004075                   NaN   \n2021        NaN        NaN  0.006775 -0.001134                   NaN   \n2022        NaN        NaN  0.010123  0.001715                   NaN   \n2023        NaN        NaN  0.027901  0.008008                   NaN   \n2024        NaN        NaN  0.043756  0.016266                   NaN   \n2025        NaN        NaN  0.056942  0.025380              0.129412   \n2026        NaN        NaN  0.072598  0.035711              0.260317   \n2027        NaN        NaN  0.067158  0.042464              0.171975   \n2028        NaN        NaN  0.064492  0.047126              0.151703   \n2029  87.165775 -12.834225  0.114979  0.061321              0.423313   \n2030  86.538462 -13.461538  0.164049  0.082616              0.413994   \n2031  83.255814 -16.744186  0.200433  0.106862              0.440828   \n2032  67.464115 -32.535885  0.205891  0.127124              0.226415   \n2033  69.544161 -30.455839  0.211957  0.144402              0.218997   \n2034  57.653061 -42.346939  0.199928  0.155669              0.145833   \n2035  79.523810 -20.476190  0.229962  0.170701              0.269521   \n2036  81.245577 -18.754423  0.295399  0.195873              0.554348   \n2037  75.746269 -24.253731  0.334492  0.223803              0.505376   \n2038  80.223881 -19.776119  0.368998  0.253014              0.232759   \n2039   1.000000   1.000000  1.000000  1.000000              1.000000   \n2040  96.113074  -3.886926  0.443912  0.313571              0.291581   \n2041  88.679245 -11.320755  0.486575  0.348277              0.404396   \n2042  84.228188 -15.771812  0.506334  0.379965              0.359307   \n2043  73.770492 -26.229508  0.503683  0.404756              0.388636   \n2044  81.147541 -18.852459  0.508733  0.425584              0.248016   \n2045  74.180328 -25.819672  0.494423  0.439369              0.069930   \n2046  76.229508 -23.770492  0.481175  0.447738              0.101786   \n2047  75.000000 -25.000000  0.463049  0.450803              0.073427   \n2048  76.050420 -23.949580  0.446495  0.449941              0.080420   \n2049  65.505347 -34.494653  0.426166  0.445184             -0.022258   \n2050  41.213085 -58.786915  0.386646  0.433471             -0.076682   \n2051   5.797101 -94.202899  0.317440  0.410257             -0.132166   \n2052  35.403727 -64.596273  0.279281  0.384055             -0.065466   \n2053  44.720497 -55.279503  0.257588  0.358757             -0.068362   \n2054  32.298137 -67.701863  0.222427  0.331486             -0.075163   \n2055  31.034483 -68.965517  0.187006  0.302586             -0.094003   \n2056  13.178295 -86.821705  0.135674  0.269200             -0.135179   \n2057  24.204771 -75.795229  0.082402  0.231837             -0.165049   \n2058  44.289694 -55.710306  0.063644  0.198197             -0.110569   \n2059  67.080273 -32.919727  0.076048  0.173765             -0.011864   \n2060  50.620410 -49.379590  0.064750  0.151961              0.022018   \n2061  55.684984 -44.315016  0.061372  0.133843             -0.010508   \n2062  51.149807 -48.850193  0.049467  0.116967             -0.054608   \n2063   1.000000   1.000000  1.000000  1.000000              1.000000   \n2064  76.652770 -23.347230  0.051679  0.091527              0.037567   \n2065  93.715961  -6.284039  0.119994  0.097220              0.235405   \n\n      On Balance Volume  Prediction  \n2016                0.0         NaN  \n2017         -1702102.0        -1.0  \n2018         -3007748.0        -1.0  \n2019         -1753443.0         1.0  \n2020          -624853.0         1.0  \n2021           753776.0         1.0  \n2022          -352182.0        -1.0  \n2023          1644513.0         1.0  \n2024          2699001.0         1.0  \n2025          3951921.0         1.0  \n2026          5062661.0         1.0  \n2027          3699088.0        -1.0  \n2028          4477437.0         1.0  \n2029         10352916.0         1.0  \n2030         13754940.0         1.0  \n2031         16033186.0         1.0  \n2032         13373653.0        -1.0  \n2033         14804092.0         1.0  \n2034         12837752.0        -1.0  \n2035         17704924.0         1.0  \n2036         25050011.0         1.0  \n2037         22127718.0        -1.0  \n2038         23991336.0         1.0  \n2039                1.0         NaN  \n2040         28714402.0         1.0  \n2041         31757787.0         1.0  \n2042         29488040.0        -1.0  \n2043         27418238.0        -1.0  \n2044         28389126.0         1.0  \n2045         27620233.0        -1.0  \n2046         28544111.0         1.0  \n2047         27206061.0        -1.0  \n2048         27962404.0         1.0  \n2049         27193153.0        -1.0  \n2050         25839164.0        -1.0  \n2051         24522981.0        -1.0  \n2052         26056451.0         1.0  \n2053         27202248.0         1.0  \n2054         26367161.0        -1.0  \n2055         25122181.0        -1.0  \n2056         23495195.0        -1.0  \n2057         21444691.0        -1.0  \n2058         22312910.0         1.0  \n2059         23736434.0         1.0  \n2060         22537483.0        -1.0  \n2061         23331952.0         1.0  \n2062         22590347.0        -1.0  \n2063                1.0         1.0  \n2064         23545678.0         1.0  \n2065         26080736.0         1.0  "
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Create a column we wish to predict\n",
    "'''\n",
    "    In this case, let's create an output column that will be 1 if the closing price at time 't' is greater than 't-1' and 0 otherwise.\n",
    "    In other words, if the today's closing price is greater than yesterday's closing price it would be 1.\n",
    "'''\n",
    "\n",
    "# Group by the `Symbol` column, then grab the `Close` column.\n",
    "close_groups = price_data.groupby('symbol')['close']\n",
    "\n",
    "# Apply the lambda function which will return -1.0 for down, 1.0 for up and 0.0 for no change.\n",
    "close_groups = close_groups.transform(lambda x : np.sign(x.diff()))\n",
    "\n",
    "# add the data to the main dataframe.\n",
    "price_data['Prediction'] = close_groups\n",
    "\n",
    "# for simplicity in later sections I'm going to make a change to our prediction column. To keep this as a binary classifier I'll change flat days and consider them up days.\n",
    "price_data.loc[price_data['Prediction'] == 0.0] = 1.0\n",
    "\n",
    "# print the head\n",
    "price_data.head(50)\n",
    "\n",
    "# OPTIONAL CODE: Dump the data frame to a CSV file to examine the data yourself.\n",
    "# price_data.to_csv('final_metrics.csv')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Building the Model: Removing `NaN` Values\n",
    "\n",
    "The random forest can't accept `Nan` values, so we will need to remove them before feeding the data in. The code below prints the number of rows before dropping the `NaN` values, use the `dropna` method to remove any rows `NaN` values and then displays the number of rows after dropping the `NaN` values."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": "Before NaN Drop we have 2520 rows and 20 columns\nAfter NaN Drop we have 2454 rows and 20 columns\n"
    },
    {
     "data": {
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>symbol</th>\n      <th>datetime</th>\n      <th>close</th>\n      <th>high</th>\n      <th>low</th>\n      <th>open</th>\n      <th>volume</th>\n      <th>change_in_price</th>\n      <th>down_days</th>\n      <th>up_days</th>\n      <th>RSI</th>\n      <th>low_14</th>\n      <th>high_14</th>\n      <th>k_percent</th>\n      <th>r_percent</th>\n      <th>MACD</th>\n      <th>MACD_EMA</th>\n      <th>Price_Rate_Of_Change</th>\n      <th>On Balance Volume</th>\n      <th>Prediction</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>2029</th>\n      <td>ARWR</td>\n      <td>1.514959e+12</td>\n      <td>4.64</td>\n      <td>4.88</td>\n      <td>3.770</td>\n      <td>3.79</td>\n      <td>5875479.0</td>\n      <td>0.92</td>\n      <td>0.00</td>\n      <td>0.92</td>\n      <td>82.451324</td>\n      <td>3.0100</td>\n      <td>4.88</td>\n      <td>87.165775</td>\n      <td>-12.834225</td>\n      <td>0.114979</td>\n      <td>0.061321</td>\n      <td>0.423313</td>\n      <td>10352916.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2030</th>\n      <td>ARWR</td>\n      <td>1.515046e+12</td>\n      <td>4.85</td>\n      <td>5.13</td>\n      <td>4.500</td>\n      <td>4.58</td>\n      <td>3402024.0</td>\n      <td>0.21</td>\n      <td>0.00</td>\n      <td>0.21</td>\n      <td>84.742603</td>\n      <td>3.0500</td>\n      <td>5.13</td>\n      <td>86.538462</td>\n      <td>-13.461538</td>\n      <td>0.164049</td>\n      <td>0.082616</td>\n      <td>0.413994</td>\n      <td>13754940.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2031</th>\n      <td>ARWR</td>\n      <td>1.515132e+12</td>\n      <td>4.87</td>\n      <td>5.23</td>\n      <td>4.660</td>\n      <td>4.86</td>\n      <td>2278246.0</td>\n      <td>0.02</td>\n      <td>0.00</td>\n      <td>0.02</td>\n      <td>84.958420</td>\n      <td>3.0800</td>\n      <td>5.23</td>\n      <td>83.255814</td>\n      <td>-16.744186</td>\n      <td>0.200433</td>\n      <td>0.106862</td>\n      <td>0.440828</td>\n      <td>16033186.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>2032</th>\n      <td>ARWR</td>\n      <td>1.515391e+12</td>\n      <td>4.55</td>\n      <td>4.90</td>\n      <td>4.370</td>\n      <td>4.88</td>\n      <td>2659533.0</td>\n      <td>-0.32</td>\n      <td>0.32</td>\n      <td>0.00</td>\n      <td>67.366376</td>\n      <td>3.1400</td>\n      <td>5.23</td>\n      <td>67.464115</td>\n      <td>-32.535885</td>\n      <td>0.205891</td>\n      <td>0.127124</td>\n      <td>0.226415</td>\n      <td>13373653.0</td>\n      <td>-1.0</td>\n    </tr>\n    <tr>\n      <th>2033</th>\n      <td>ARWR</td>\n      <td>1.515478e+12</td>\n      <td>4.62</td>\n      <td>4.90</td>\n      <td>4.455</td>\n      <td>4.58</td>\n      <td>1430439.0</td>\n      <td>0.07</td>\n      <td>0.00</td>\n      <td>0.07</td>\n      <td>68.987239</td>\n      <td>3.2271</td>\n      <td>5.23</td>\n      <td>69.544161</td>\n      <td>-30.455839</td>\n      <td>0.211957</td>\n      <td>0.144402</td>\n      <td>0.218997</td>\n      <td>14804092.0</td>\n      <td>1.0</td>\n    </tr>\n  </tbody>\n</table>\n</div>",
      "text/plain": "     symbol      datetime  close  high    low  open     volume  \\\n2029   ARWR  1.514959e+12   4.64  4.88  3.770  3.79  5875479.0   \n2030   ARWR  1.515046e+12   4.85  5.13  4.500  4.58  3402024.0   \n2031   ARWR  1.515132e+12   4.87  5.23  4.660  4.86  2278246.0   \n2032   ARWR  1.515391e+12   4.55  4.90  4.370  4.88  2659533.0   \n2033   ARWR  1.515478e+12   4.62  4.90  4.455  4.58  1430439.0   \n\n      change_in_price  down_days  up_days        RSI  low_14  high_14  \\\n2029             0.92       0.00     0.92  82.451324  3.0100     4.88   \n2030             0.21       0.00     0.21  84.742603  3.0500     5.13   \n2031             0.02       0.00     0.02  84.958420  3.0800     5.23   \n2032            -0.32       0.32     0.00  67.366376  3.1400     5.23   \n2033             0.07       0.00     0.07  68.987239  3.2271     5.23   \n\n      k_percent  r_percent      MACD  MACD_EMA  Price_Rate_Of_Change  \\\n2029  87.165775 -12.834225  0.114979  0.061321              0.423313   \n2030  86.538462 -13.461538  0.164049  0.082616              0.413994   \n2031  83.255814 -16.744186  0.200433  0.106862              0.440828   \n2032  67.464115 -32.535885  0.205891  0.127124              0.226415   \n2033  69.544161 -30.455839  0.211957  0.144402              0.218997   \n\n      On Balance Volume  Prediction  \n2029         10352916.0         1.0  \n2030         13754940.0         1.0  \n2031         16033186.0         1.0  \n2032         13373653.0        -1.0  \n2033         14804092.0         1.0  "
     },
     "execution_count": 91,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# We need to remove all rows that have an NaN value.\n",
    "print('Before NaN Drop we have {} rows and {} columns'.format(price_data.shape[0], price_data.shape[1]))\n",
    "\n",
    "# Any row that has a `NaN` value will be dropped.\n",
    "price_data = price_data.dropna()\n",
    "\n",
    "# Display how much we have left now.\n",
    "print('After NaN Drop we have {} rows and {} columns'.format(price_data.shape[0], price_data.shape[1]))\n",
    "\n",
    "# Print the head.\n",
    "price_data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Building the Model: Splitting the Data\n",
    "If you remember back to our series on regression analysis, we have split our data into a training set and testing set. For Random Forest, we need to do the same, so we need to identify our input columns which are the following:\n",
    "\n",
    "1. RSI\n",
    "2. Stochastic Oscillator\n",
    "3. William %R\n",
    "4. Price Rate of Change\n",
    "5. MACD\n",
    "\n",
    "Those columns will serve as our `X`, and our `Y` column will be the `Prediction` column, the column that specifies whether the stock closed up or down compared to the previous day.\n",
    "\n",
    "Once we've selected our columns, we need to split the data into a training and test set. SciKit learn makes this easy by providing the `train_test_split` object, which will take our `X_Cols` and `Y_Cols` and split them based on the size we input. In our case, let's have the `test_size` be '20 %`. For reproducibility, the `train_test_split` object provides the `random_state` argument that will split the data along the same dimensions every time.\n",
    "\n",
    "After we've split the data, we can create our `RandomForestClassifier` model.\n",
    "\n",
    "Once we've created it, we can `fit` the training data to the model using the `fit` method. Finally, with our \"trained\" model, we can make predictions. Take the `X_test` data set and use it to make predictions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Grab our X & Y Columns.\n",
    "X_Cols = price_data[['RSI','k_percent','r_percent','Price_Rate_Of_Change','MACD','On Balance Volume']]\n",
    "Y_Cols = price_data['Prediction']\n",
    "\n",
    "# Split X and y into X_\n",
    "X_train, X_test, y_train, y_test = train_test_split(X_Cols, Y_Cols, random_state = 0)\n",
    "\n",
    "# Create a Random Forest Classifier\n",
    "rand_frst_clf = RandomForestClassifier(n_estimators = 100, oob_score = True, criterion = \"gini\", random_state = 0)\n",
    "\n",
    "# Fit the data to the model\n",
    "rand_frst_clf.fit(X_train, y_train)\n",
    "\n",
    "# Make predictions\n",
    "y_pred = rand_frst_clf.predict(X_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Model Evaluation: Accuracy\n",
    "We've built our model, so let's see how accurate it is. SciKit learn, again, makes the process of evaluating our model very easy by providing a bunch of built-in metrics that we can call.\n",
    "\n",
    "One of those metrics is the `accuracy_score`.\n",
    "\n",
    "The accuracy_score function computes the accuracy, either the fraction (default) or the count (`normalize`=`False`) of correct predictions. Accuracy is defined as the number of accurate predictions the model made on the test set. Imagine we had three **`TRUE`** values `[1, 2, 3]`, and our model predicted the following values `[1, 2, 4]` we would say the accuracy of our model is `66 %`.\n",
    "\n",
    "Now I can almost guarantee that your accuracy will be different than mine because if you don't run this model using the same data set as I did, then it could be higher or lower. In my case, the model accuracy was around `71.1%`, which is pretty high."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": "Correct Prediction (%):  69.21824104234527\n"
    }
   ],
   "source": [
    "# Print the Accuracy of our Model.\n",
    "print('Correct Prediction (%): ', accuracy_score(y_test, rand_frst_clf.predict(X_test), normalize = True) * 100.0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Model Evaluation: Classification Report\n",
    "To get a more detailed overview of how the model performed, we can build a classification report that will compute the `F1_Score`, the `Precision`, the `Recall`, and the `Support`. Now, I'm assuming you don't know what these metrics are, so let's take some time to go over them.\n",
    "\n",
    "### Accuracy:\n",
    "Accuracy measures the portion of all testing samples classified correctly and is defined as the following:\n",
    "\n",
    "\\begin{align}\n",
    "\\\\\n",
    "\\ Accuracy = \\frac{tp + tn}{(tp +tn)+(fp-fn)}\n",
    "\\\\\n",
    "\\end{align}\n",
    "\n",
    "$\n",
    "\\begin{align}\n",
    "\\ where,\n",
    "\\\\\n",
    "\\ tp = \\text{True Positive}\n",
    "\\\\\n",
    "\\ tn = \\text{True Negative}\n",
    "\\\\\n",
    "\\ fp = \\text{False Positive}\n",
    "\\\\\n",
    "\\ fn = \\text{False Negative}\n",
    "\\\\\n",
    "\\end{align}\n",
    "$\n",
    "\n",
    "### Recall\n",
    "Recall (also known as sensitivity) measures the ability of a classifier to correctly identify positive labels and is defined as the following:\n",
    "\n",
    "$$\n",
    "\\begin{align}\n",
    "\\\\\n",
    "\\ Recall = \\frac{tp}{(tp +fn)}\n",
    "\\\\\n",
    "\\end{align}\n",
    "$$\n",
    "\n",
    "$\n",
    "\\begin{align}\n",
    "\\ where,\n",
    "\\\\\n",
    "\\ tp = \\text{True Positive}\n",
    "\\\\\n",
    "\\ fn = \\text{False Negative}\n",
    "\\\\\n",
    "\\end{align}\n",
    "$\n",
    "\n",
    "The recall is intuitively the ability of the classifier to find all the positive samples. The best value is 1, and the worst value is 0.\n",
    "\n",
    "### Specificity\n",
    "Specificity measures the classifier’s ability to correctly identify negative labels and is defined as the following:\n",
    "\n",
    "$$\n",
    "\\begin{align}\n",
    "\\\\\n",
    "\\ Specificity = \\frac{tn}{(tn +fp)}\n",
    "\\\\\n",
    "\\end{align}\n",
    "$$\n",
    "\n",
    "$\n",
    "\\begin{align}\n",
    "\\ where,\n",
    "\\\\\n",
    "\\ tn = \\text{True Negative}\n",
    "\\\\\n",
    "\\ fp = \\text{False Positive}\n",
    "\\\\\n",
    "\\end{align}\n",
    "$\n",
    "\n",
    "### Percision\n",
    "Precision measures the proportion of all correctly identified samples in a population of samples which are classified as positive labels and is defined as the following:\n",
    "\n",
    "$$\n",
    "\\begin{align}\n",
    "\\\\\n",
    "\\ Percision = \\frac{tp}{(tp +fp)}\n",
    "\\\\\n",
    "\\end{align}\n",
    "$$\n",
    "\n",
    "$\n",
    "\\begin{align}\n",
    "\\ where,\n",
    "\\\\\n",
    "\\ tp = \\text{True Positive}\n",
    "\\\\\n",
    "\\ fp = \\text{False Positive}\n",
    "\\\\\n",
    "\\end{align}\n",
    "$\n",
    "\n",
    "The precision is intuitively the ability of the classifier not to label as positive a sample that is negative. The best value is 1, and the worst value is 0.\n",
    "\n",
    "\n",
    "### Interpreting the Classification Report\n",
    "Now the fun part, interpretation. When it comes to evaluating the model, there we generally look at the accuracy. If our accuracy is high, it means our model is correctly classifying items.\n",
    "\n",
    "In some cases, we will have models that may have low precision or high recall. It's difficult to compare two models with low precision and high recall or vice versa. To make results comparable, we use a metric called the F-Score. The F-score helps to measure Recall and Precision at the same time. It uses Harmonic Mean in place of Arithmetic Mean by punishing the extreme values more."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>precision</th>\n      <th>recall</th>\n      <th>f1-score</th>\n      <th>support</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>Down Day</th>\n      <td>0.630508</td>\n      <td>0.699248</td>\n      <td>0.663102</td>\n      <td>266.000000</td>\n    </tr>\n    <tr>\n      <th>Up Day</th>\n      <td>0.749216</td>\n      <td>0.686782</td>\n      <td>0.716642</td>\n      <td>348.000000</td>\n    </tr>\n    <tr>\n      <th>accuracy</th>\n      <td>0.692182</td>\n      <td>0.692182</td>\n      <td>0.692182</td>\n      <td>0.692182</td>\n    </tr>\n    <tr>\n      <th>macro avg</th>\n      <td>0.689862</td>\n      <td>0.693015</td>\n      <td>0.689872</td>\n      <td>614.000000</td>\n    </tr>\n    <tr>\n      <th>weighted avg</th>\n      <td>0.697789</td>\n      <td>0.692182</td>\n      <td>0.693447</td>\n      <td>614.000000</td>\n    </tr>\n  </tbody>\n</table>\n</div>",
      "text/plain": "              precision    recall  f1-score     support\nDown Day       0.630508  0.699248  0.663102  266.000000\nUp Day         0.749216  0.686782  0.716642  348.000000\naccuracy       0.692182  0.692182  0.692182    0.692182\nmacro avg      0.689862  0.693015  0.689872  614.000000\nweighted avg   0.697789  0.692182  0.693447  614.000000"
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Define the traget names\n",
    "target_names = ['Down Day', 'Up Day']\n",
    "\n",
    "# Build a classifcation report\n",
    "report = classification_report(y_true = y_test, y_pred = y_pred, target_names = target_names, output_dict = True)\n",
    "\n",
    "# Add it to a data frame, transpose it for readability.\n",
    "report_df = pd.DataFrame(report).transpose()\n",
    "report_df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Model Evaluation: Confusion Matrix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": "Accuracy: 0.6921824104234527\nPercision: 0.7492163009404389\nRecall: 0.6867816091954023\nSpecificity: 0.6992481203007519\n"
    },
    {
     "data": {
      "image/png": "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\n",
      "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n<svg height=\"277.314375pt\" version=\"1.1\" viewBox=\"0 0 360.655125 277.314375\" width=\"360.655125pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <defs>\r\n  <style type=\"text/css\">\r\n*{stroke-linecap:butt;stroke-linejoin:round;}\r\n  </style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n  <g id=\"patch_1\">\r\n   <path d=\"M 0 277.314375 \r\nL 360.655125 277.314375 \r\nL 360.655125 0 \r\nL 0 0 \r\nz\r\n\" style=\"fill:none;\"/>\r\n  </g>\r\n  <g id=\"axes_1\">\r\n   <g id=\"patch_2\">\r\n    <path d=\"M 79.1375 239.758125 \r\nL 296.5775 239.758125 \r\nL 296.5775 22.318125 \r\nL 79.1375 22.318125 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g clip-path=\"url(#pdb3f51031d)\">\r\n    <image height=\"218\" id=\"image30ea31e5e5\" transform=\"scale(1 -1)translate(0 -218)\" width=\"218\" x=\"79.1375\" xlink:href=\"data:image/png;base64,\r\niVBORw0KGgoAAAANSUhEUgAAANoAAADaCAYAAADAHVzbAAAABHNCSVQICAgIfAhkiAAAAptJREFUeJzt1TENwlAARVHKhARkoAE7lYCNukIMTEwkrYa/3B/COQrecvOW9+e7n/gp1/tj9gQGnWcPgH8gNAgIDQJCg4DQICA0CAgNAkKDgNAgIDQICA0CQoOA0CAgNAgIDQJCg4DQICA0CAgNAkKDgNAgIDQICA0CQoOA0CAgNAgIDQJCg4DQICA0CAgNAkKDgNAgIDQICA0CQoOA0CAgNAgIDQJCg4DQICA0CAgNAkKDgNAgIDQICA0CQoOA0CAgNAgIDQJCg4DQICA0CAgNAkKDgNAgIDQICA0CQoOA0CAgNAgIDQJCg4DQICA0CAgNAkKDgNAgIDQICA0CQoOA0CAgNAgIDQJCg4DQICA0CAgNAkKDgNAgIDQICA0CQoOA0CAgNAgIDQJCg4DQICA0CAgNAkKDgNAgIDQICA0CQoOA0CAgNAgIDQJCg4DQICA0CAgNAkKDgNAgIDQICA0CQoPAcrmt++wRjHk9t9kTGOTRICA0CAgNAkKDgNAgIDQICA0CQoOA0CAgNAgIDQJCg4DQICA0CAgNAkKDgNAgIDQICA0CQoOA0CAgNAgIDQJCg4DQICA0CAgNAkKDgNAgIDQICA0CQoOA0CAgNAgIDQJCg4DQICA0CAgNAkKDgNAgIDQICA0CQoOA0CAgNAgIDQJCg4DQICA0CAgNAkKDgNAgIDQICA0CQoOA0CAgNAgIDQJCg4DQICA0CAgNAkKDgNAgIDQICA0CQoOA0CAgNAgIDQJCg4DQICA0CAgNAkKDgNAgIDQICA0CQoOA0CAgNAgIDQJCg4DQICA0CAgNAkKDgNAgIDQICA0CQoOA0CAgNAgIDQJCg4DQICA0CAgNAkKDgNAgIDQICA0CQoOA0CAgNAgIDQJCg8ABJI4KWRn2DGMAAAAASUVORK5CYII=\" y=\"-21.758125\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_1\">\r\n    <g id=\"xtick_1\">\r\n     <g id=\"line2d_1\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL 0 3.5 \r\n\" id=\"m6e0c6af307\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"133.4975\" xlink:href=\"#m6e0c6af307\" y=\"239.758125\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_1\">\r\n      <!-- Down Day -->\r\n      <defs>\r\n       <path d=\"M 19.671875 64.796875 \r\nL 19.671875 8.109375 \r\nL 31.59375 8.109375 \r\nQ 46.6875 8.109375 53.6875 14.9375 \r\nQ 60.6875 21.78125 60.6875 36.53125 \r\nQ 60.6875 51.171875 53.6875 57.984375 \r\nQ 46.6875 64.796875 31.59375 64.796875 \r\nz\r\nM 9.8125 72.90625 \r\nL 30.078125 72.90625 \r\nQ 51.265625 72.90625 61.171875 64.09375 \r\nQ 71.09375 55.28125 71.09375 36.53125 \r\nQ 71.09375 17.671875 61.125 8.828125 \r\nQ 51.171875 0 30.078125 0 \r\nL 9.8125 0 \r\nz\r\n\" id=\"DejaVuSans-68\"/>\r\n       <path d=\"M 30.609375 48.390625 \r\nQ 23.390625 48.390625 19.1875 42.75 \r\nQ 14.984375 37.109375 14.984375 27.296875 \r\nQ 14.984375 17.484375 19.15625 11.84375 \r\nQ 23.34375 6.203125 30.609375 6.203125 \r\nQ 37.796875 6.203125 41.984375 11.859375 \r\nQ 46.1875 17.53125 46.1875 27.296875 \r\nQ 46.1875 37.015625 41.984375 42.703125 \r\nQ 37.796875 48.390625 30.609375 48.390625 \r\nz\r\nM 30.609375 56 \r\nQ 42.328125 56 49.015625 48.375 \r\nQ 55.71875 40.765625 55.71875 27.296875 \r\nQ 55.71875 13.875 49.015625 6.21875 \r\nQ 42.328125 -1.421875 30.609375 -1.421875 \r\nQ 18.84375 -1.421875 12.171875 6.21875 \r\nQ 5.515625 13.875 5.515625 27.296875 \r\nQ 5.515625 40.765625 12.171875 48.375 \r\nQ 18.84375 56 30.609375 56 \r\nz\r\n\" id=\"DejaVuSans-111\"/>\r\n       <path d=\"M 4.203125 54.6875 \r\nL 13.1875 54.6875 \r\nL 24.421875 12.015625 \r\nL 35.59375 54.6875 \r\nL 46.1875 54.6875 \r\nL 57.421875 12.015625 \r\nL 68.609375 54.6875 \r\nL 77.59375 54.6875 \r\nL 63.28125 0 \r\nL 52.6875 0 \r\nL 40.921875 44.828125 \r\nL 29.109375 0 \r\nL 18.5 0 \r\nz\r\n\" id=\"DejaVuSans-119\"/>\r\n       <path d=\"M 54.890625 33.015625 \r\nL 54.890625 0 \r\nL 45.90625 0 \r\nL 45.90625 32.71875 \r\nQ 45.90625 40.484375 42.875 44.328125 \r\nQ 39.84375 48.1875 33.796875 48.1875 \r\nQ 26.515625 48.1875 22.3125 43.546875 \r\nQ 18.109375 38.921875 18.109375 30.90625 \r\nL 18.109375 0 \r\nL 9.078125 0 \r\nL 9.078125 54.6875 \r\nL 18.109375 54.6875 \r\nL 18.109375 46.1875 \r\nQ 21.34375 51.125 25.703125 53.5625 \r\nQ 30.078125 56 35.796875 56 \r\nQ 45.21875 56 50.046875 50.171875 \r\nQ 54.890625 44.34375 54.890625 33.015625 \r\nz\r\n\" id=\"DejaVuSans-110\"/>\r\n       <path id=\"DejaVuSans-32\"/>\r\n       <path d=\"M 34.28125 27.484375 \r\nQ 23.390625 27.484375 19.1875 25 \r\nQ 14.984375 22.515625 14.984375 16.5 \r\nQ 14.984375 11.71875 18.140625 8.90625 \r\nQ 21.296875 6.109375 26.703125 6.109375 \r\nQ 34.1875 6.109375 38.703125 11.40625 \r\nQ 43.21875 16.703125 43.21875 25.484375 \r\nL 43.21875 27.484375 \r\nz\r\nM 52.203125 31.203125 \r\nL 52.203125 0 \r\nL 43.21875 0 \r\nL 43.21875 8.296875 \r\nQ 40.140625 3.328125 35.546875 0.953125 \r\nQ 30.953125 -1.421875 24.3125 -1.421875 \r\nQ 15.921875 -1.421875 10.953125 3.296875 \r\nQ 6 8.015625 6 15.921875 \r\nQ 6 25.140625 12.171875 29.828125 \r\nQ 18.359375 34.515625 30.609375 34.515625 \r\nL 43.21875 34.515625 \r\nL 43.21875 35.40625 \r\nQ 43.21875 41.609375 39.140625 45 \r\nQ 35.0625 48.390625 27.6875 48.390625 \r\nQ 23 48.390625 18.546875 47.265625 \r\nQ 14.109375 46.140625 10.015625 43.890625 \r\nL 10.015625 52.203125 \r\nQ 14.9375 54.109375 19.578125 55.046875 \r\nQ 24.21875 56 28.609375 56 \r\nQ 40.484375 56 46.34375 49.84375 \r\nQ 52.203125 43.703125 52.203125 31.203125 \r\nz\r\n\" id=\"DejaVuSans-97\"/>\r\n       <path d=\"M 32.171875 -5.078125 \r\nQ 28.375 -14.84375 24.75 -17.8125 \r\nQ 21.140625 -20.796875 15.09375 -20.796875 \r\nL 7.90625 -20.796875 \r\nL 7.90625 -13.28125 \r\nL 13.1875 -13.28125 \r\nQ 16.890625 -13.28125 18.9375 -11.515625 \r\nQ 21 -9.765625 23.484375 -3.21875 \r\nL 25.09375 0.875 \r\nL 2.984375 54.6875 \r\nL 12.5 54.6875 \r\nL 29.59375 11.921875 \r\nL 46.6875 54.6875 \r\nL 56.203125 54.6875 \r\nz\r\n\" id=\"DejaVuSans-121\"/>\r\n      </defs>\r\n      <g transform=\"translate(107.867812 254.356562)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-68\"/>\r\n       <use x=\"77.001953\" xlink:href=\"#DejaVuSans-111\"/>\r\n       <use x=\"138.183594\" xlink:href=\"#DejaVuSans-119\"/>\r\n       <use x=\"219.970703\" xlink:href=\"#DejaVuSans-110\"/>\r\n       <use x=\"283.349609\" xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"315.136719\" xlink:href=\"#DejaVuSans-68\"/>\r\n       <use x=\"392.138672\" xlink:href=\"#DejaVuSans-97\"/>\r\n       <use x=\"453.417969\" xlink:href=\"#DejaVuSans-121\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_2\">\r\n     <g id=\"line2d_2\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"242.2175\" xlink:href=\"#m6e0c6af307\" y=\"239.758125\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_2\">\r\n      <!-- Up Day -->\r\n      <defs>\r\n       <path d=\"M 8.6875 72.90625 \r\nL 18.609375 72.90625 \r\nL 18.609375 28.609375 \r\nQ 18.609375 16.890625 22.84375 11.734375 \r\nQ 27.09375 6.59375 36.625 6.59375 \r\nQ 46.09375 6.59375 50.34375 11.734375 \r\nQ 54.59375 16.890625 54.59375 28.609375 \r\nL 54.59375 72.90625 \r\nL 64.5 72.90625 \r\nL 64.5 27.390625 \r\nQ 64.5 13.140625 57.4375 5.859375 \r\nQ 50.390625 -1.421875 36.625 -1.421875 \r\nQ 22.796875 -1.421875 15.734375 5.859375 \r\nQ 8.6875 13.140625 8.6875 27.390625 \r\nz\r\n\" id=\"DejaVuSans-85\"/>\r\n       <path d=\"M 18.109375 8.203125 \r\nL 18.109375 -20.796875 \r\nL 9.078125 -20.796875 \r\nL 9.078125 54.6875 \r\nL 18.109375 54.6875 \r\nL 18.109375 46.390625 \r\nQ 20.953125 51.265625 25.265625 53.625 \r\nQ 29.59375 56 35.59375 56 \r\nQ 45.5625 56 51.78125 48.09375 \r\nQ 58.015625 40.1875 58.015625 27.296875 \r\nQ 58.015625 14.40625 51.78125 6.484375 \r\nQ 45.5625 -1.421875 35.59375 -1.421875 \r\nQ 29.59375 -1.421875 25.265625 0.953125 \r\nQ 20.953125 3.328125 18.109375 8.203125 \r\nz\r\nM 48.6875 27.296875 \r\nQ 48.6875 37.203125 44.609375 42.84375 \r\nQ 40.53125 48.484375 33.40625 48.484375 \r\nQ 26.265625 48.484375 22.1875 42.84375 \r\nQ 18.109375 37.203125 18.109375 27.296875 \r\nQ 18.109375 17.390625 22.1875 11.75 \r\nQ 26.265625 6.109375 33.40625 6.109375 \r\nQ 40.53125 6.109375 44.609375 11.75 \r\nQ 48.6875 17.390625 48.6875 27.296875 \r\nz\r\n\" id=\"DejaVuSans-112\"/>\r\n      </defs>\r\n      <g transform=\"translate(223.921406 254.356562)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-85\"/>\r\n       <use x=\"73.193359\" xlink:href=\"#DejaVuSans-112\"/>\r\n       <use x=\"136.669922\" xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"168.457031\" xlink:href=\"#DejaVuSans-68\"/>\r\n       <use x=\"245.458984\" xlink:href=\"#DejaVuSans-97\"/>\r\n       <use x=\"306.738281\" xlink:href=\"#DejaVuSans-121\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"text_3\">\r\n     <!-- Predicted label -->\r\n     <defs>\r\n      <path d=\"M 19.671875 64.796875 \r\nL 19.671875 37.40625 \r\nL 32.078125 37.40625 \r\nQ 38.96875 37.40625 42.71875 40.96875 \r\nQ 46.484375 44.53125 46.484375 51.125 \r\nQ 46.484375 57.671875 42.71875 61.234375 \r\nQ 38.96875 64.796875 32.078125 64.796875 \r\nz\r\nM 9.8125 72.90625 \r\nL 32.078125 72.90625 \r\nQ 44.34375 72.90625 50.609375 67.359375 \r\nQ 56.890625 61.8125 56.890625 51.125 \r\nQ 56.890625 40.328125 50.609375 34.8125 \r\nQ 44.34375 29.296875 32.078125 29.296875 \r\nL 19.671875 29.296875 \r\nL 19.671875 0 \r\nL 9.8125 0 \r\nz\r\n\" id=\"DejaVuSans-80\"/>\r\n      <path d=\"M 41.109375 46.296875 \r\nQ 39.59375 47.171875 37.8125 47.578125 \r\nQ 36.03125 48 33.890625 48 \r\nQ 26.265625 48 22.1875 43.046875 \r\nQ 18.109375 38.09375 18.109375 28.8125 \r\nL 18.109375 0 \r\nL 9.078125 0 \r\nL 9.078125 54.6875 \r\nL 18.109375 54.6875 \r\nL 18.109375 46.1875 \r\nQ 20.953125 51.171875 25.484375 53.578125 \r\nQ 30.03125 56 36.53125 56 \r\nQ 37.453125 56 38.578125 55.875 \r\nQ 39.703125 55.765625 41.0625 55.515625 \r\nz\r\n\" id=\"DejaVuSans-114\"/>\r\n      <path d=\"M 56.203125 29.59375 \r\nL 56.203125 25.203125 \r\nL 14.890625 25.203125 \r\nQ 15.484375 15.921875 20.484375 11.0625 \r\nQ 25.484375 6.203125 34.421875 6.203125 \r\nQ 39.59375 6.203125 44.453125 7.46875 \r\nQ 49.3125 8.734375 54.109375 11.28125 \r\nL 54.109375 2.78125 \r\nQ 49.265625 0.734375 44.1875 -0.34375 \r\nQ 39.109375 -1.421875 33.890625 -1.421875 \r\nQ 20.796875 -1.421875 13.15625 6.1875 \r\nQ 5.515625 13.8125 5.515625 26.8125 \r\nQ 5.515625 40.234375 12.765625 48.109375 \r\nQ 20.015625 56 32.328125 56 \r\nQ 43.359375 56 49.78125 48.890625 \r\nQ 56.203125 41.796875 56.203125 29.59375 \r\nz\r\nM 47.21875 32.234375 \r\nQ 47.125 39.59375 43.09375 43.984375 \r\nQ 39.0625 48.390625 32.421875 48.390625 \r\nQ 24.90625 48.390625 20.390625 44.140625 \r\nQ 15.875 39.890625 15.1875 32.171875 \r\nz\r\n\" id=\"DejaVuSans-101\"/>\r\n      <path d=\"M 45.40625 46.390625 \r\nL 45.40625 75.984375 \r\nL 54.390625 75.984375 \r\nL 54.390625 0 \r\nL 45.40625 0 \r\nL 45.40625 8.203125 \r\nQ 42.578125 3.328125 38.25 0.953125 \r\nQ 33.9375 -1.421875 27.875 -1.421875 \r\nQ 17.96875 -1.421875 11.734375 6.484375 \r\nQ 5.515625 14.40625 5.515625 27.296875 \r\nQ 5.515625 40.1875 11.734375 48.09375 \r\nQ 17.96875 56 27.875 56 \r\nQ 33.9375 56 38.25 53.625 \r\nQ 42.578125 51.265625 45.40625 46.390625 \r\nz\r\nM 14.796875 27.296875 \r\nQ 14.796875 17.390625 18.875 11.75 \r\nQ 22.953125 6.109375 30.078125 6.109375 \r\nQ 37.203125 6.109375 41.296875 11.75 \r\nQ 45.40625 17.390625 45.40625 27.296875 \r\nQ 45.40625 37.203125 41.296875 42.84375 \r\nQ 37.203125 48.484375 30.078125 48.484375 \r\nQ 22.953125 48.484375 18.875 42.84375 \r\nQ 14.796875 37.203125 14.796875 27.296875 \r\nz\r\n\" id=\"DejaVuSans-100\"/>\r\n      <path d=\"M 9.421875 54.6875 \r\nL 18.40625 54.6875 \r\nL 18.40625 0 \r\nL 9.421875 0 \r\nz\r\nM 9.421875 75.984375 \r\nL 18.40625 75.984375 \r\nL 18.40625 64.59375 \r\nL 9.421875 64.59375 \r\nz\r\n\" id=\"DejaVuSans-105\"/>\r\n      <path d=\"M 48.78125 52.59375 \r\nL 48.78125 44.1875 \r\nQ 44.96875 46.296875 41.140625 47.34375 \r\nQ 37.3125 48.390625 33.40625 48.390625 \r\nQ 24.65625 48.390625 19.8125 42.84375 \r\nQ 14.984375 37.3125 14.984375 27.296875 \r\nQ 14.984375 17.28125 19.8125 11.734375 \r\nQ 24.65625 6.203125 33.40625 6.203125 \r\nQ 37.3125 6.203125 41.140625 7.25 \r\nQ 44.96875 8.296875 48.78125 10.40625 \r\nL 48.78125 2.09375 \r\nQ 45.015625 0.34375 40.984375 -0.53125 \r\nQ 36.96875 -1.421875 32.421875 -1.421875 \r\nQ 20.0625 -1.421875 12.78125 6.34375 \r\nQ 5.515625 14.109375 5.515625 27.296875 \r\nQ 5.515625 40.671875 12.859375 48.328125 \r\nQ 20.21875 56 33.015625 56 \r\nQ 37.15625 56 41.109375 55.140625 \r\nQ 45.0625 54.296875 48.78125 52.59375 \r\nz\r\n\" id=\"DejaVuSans-99\"/>\r\n      <path d=\"M 18.3125 70.21875 \r\nL 18.3125 54.6875 \r\nL 36.8125 54.6875 \r\nL 36.8125 47.703125 \r\nL 18.3125 47.703125 \r\nL 18.3125 18.015625 \r\nQ 18.3125 11.328125 20.140625 9.421875 \r\nQ 21.96875 7.515625 27.59375 7.515625 \r\nL 36.8125 7.515625 \r\nL 36.8125 0 \r\nL 27.59375 0 \r\nQ 17.1875 0 13.234375 3.875 \r\nQ 9.28125 7.765625 9.28125 18.015625 \r\nL 9.28125 47.703125 \r\nL 2.6875 47.703125 \r\nL 2.6875 54.6875 \r\nL 9.28125 54.6875 \r\nL 9.28125 70.21875 \r\nz\r\n\" id=\"DejaVuSans-116\"/>\r\n      <path d=\"M 9.421875 75.984375 \r\nL 18.40625 75.984375 \r\nL 18.40625 0 \r\nL 9.421875 0 \r\nz\r\n\" id=\"DejaVuSans-108\"/>\r\n      <path d=\"M 48.6875 27.296875 \r\nQ 48.6875 37.203125 44.609375 42.84375 \r\nQ 40.53125 48.484375 33.40625 48.484375 \r\nQ 26.265625 48.484375 22.1875 42.84375 \r\nQ 18.109375 37.203125 18.109375 27.296875 \r\nQ 18.109375 17.390625 22.1875 11.75 \r\nQ 26.265625 6.109375 33.40625 6.109375 \r\nQ 40.53125 6.109375 44.609375 11.75 \r\nQ 48.6875 17.390625 48.6875 27.296875 \r\nz\r\nM 18.109375 46.390625 \r\nQ 20.953125 51.265625 25.265625 53.625 \r\nQ 29.59375 56 35.59375 56 \r\nQ 45.5625 56 51.78125 48.09375 \r\nQ 58.015625 40.1875 58.015625 27.296875 \r\nQ 58.015625 14.40625 51.78125 6.484375 \r\nQ 45.5625 -1.421875 35.59375 -1.421875 \r\nQ 29.59375 -1.421875 25.265625 0.953125 \r\nQ 20.953125 3.328125 18.109375 8.203125 \r\nL 18.109375 0 \r\nL 9.078125 0 \r\nL 9.078125 75.984375 \r\nL 18.109375 75.984375 \r\nz\r\n\" id=\"DejaVuSans-98\"/>\r\n     </defs>\r\n     <g transform=\"translate(150.5075 268.034687)scale(0.1 -0.1)\">\r\n      <use xlink:href=\"#DejaVuSans-80\"/>\r\n      <use x=\"60.287109\" xlink:href=\"#DejaVuSans-114\"/>\r\n      <use x=\"101.369141\" xlink:href=\"#DejaVuSans-101\"/>\r\n      <use x=\"162.892578\" xlink:href=\"#DejaVuSans-100\"/>\r\n      <use x=\"226.369141\" xlink:href=\"#DejaVuSans-105\"/>\r\n      <use x=\"254.152344\" xlink:href=\"#DejaVuSans-99\"/>\r\n      <use x=\"309.132812\" xlink:href=\"#DejaVuSans-116\"/>\r\n      <use x=\"348.341797\" xlink:href=\"#DejaVuSans-101\"/>\r\n      <use x=\"409.865234\" xlink:href=\"#DejaVuSans-100\"/>\r\n      <use x=\"473.341797\" xlink:href=\"#DejaVuSans-32\"/>\r\n      <use x=\"505.128906\" xlink:href=\"#DejaVuSans-108\"/>\r\n      <use x=\"532.912109\" xlink:href=\"#DejaVuSans-97\"/>\r\n      <use x=\"594.191406\" xlink:href=\"#DejaVuSans-98\"/>\r\n      <use x=\"657.667969\" xlink:href=\"#DejaVuSans-101\"/>\r\n      <use x=\"719.191406\" xlink:href=\"#DejaVuSans-108\"/>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_2\">\r\n    <g id=\"ytick_1\">\r\n     <g id=\"line2d_3\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL -3.5 0 \r\n\" id=\"mbbf4531c47\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"79.1375\" xlink:href=\"#mbbf4531c47\" y=\"76.678125\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_4\">\r\n      <!-- Down Day -->\r\n      <g transform=\"translate(20.878125 80.477344)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-68\"/>\r\n       <use x=\"77.001953\" xlink:href=\"#DejaVuSans-111\"/>\r\n       <use x=\"138.183594\" xlink:href=\"#DejaVuSans-119\"/>\r\n       <use x=\"219.970703\" xlink:href=\"#DejaVuSans-110\"/>\r\n       <use x=\"283.349609\" xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"315.136719\" xlink:href=\"#DejaVuSans-68\"/>\r\n       <use x=\"392.138672\" xlink:href=\"#DejaVuSans-97\"/>\r\n       <use x=\"453.417969\" xlink:href=\"#DejaVuSans-121\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_2\">\r\n     <g id=\"line2d_4\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"79.1375\" xlink:href=\"#mbbf4531c47\" y=\"185.398125\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_5\">\r\n      <!-- Up Day -->\r\n      <g transform=\"translate(35.545313 189.197344)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-85\"/>\r\n       <use x=\"73.193359\" xlink:href=\"#DejaVuSans-112\"/>\r\n       <use x=\"136.669922\" xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"168.457031\" xlink:href=\"#DejaVuSans-68\"/>\r\n       <use x=\"245.458984\" xlink:href=\"#DejaVuSans-97\"/>\r\n       <use x=\"306.738281\" xlink:href=\"#DejaVuSans-121\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"text_6\">\r\n     <!-- True label -->\r\n     <defs>\r\n      <path d=\"M -0.296875 72.90625 \r\nL 61.375 72.90625 \r\nL 61.375 64.59375 \r\nL 35.5 64.59375 \r\nL 35.5 0 \r\nL 25.59375 0 \r\nL 25.59375 64.59375 \r\nL -0.296875 64.59375 \r\nz\r\n\" id=\"DejaVuSans-84\"/>\r\n      <path d=\"M 8.5 21.578125 \r\nL 8.5 54.6875 \r\nL 17.484375 54.6875 \r\nL 17.484375 21.921875 \r\nQ 17.484375 14.15625 20.5 10.265625 \r\nQ 23.53125 6.390625 29.59375 6.390625 \r\nQ 36.859375 6.390625 41.078125 11.03125 \r\nQ 45.3125 15.671875 45.3125 23.6875 \r\nL 45.3125 54.6875 \r\nL 54.296875 54.6875 \r\nL 54.296875 0 \r\nL 45.3125 0 \r\nL 45.3125 8.40625 \r\nQ 42.046875 3.421875 37.71875 1 \r\nQ 33.40625 -1.421875 27.6875 -1.421875 \r\nQ 18.265625 -1.421875 13.375 4.4375 \r\nQ 8.5 10.296875 8.5 21.578125 \r\nz\r\nM 31.109375 56 \r\nz\r\n\" id=\"DejaVuSans-117\"/>\r\n     </defs>\r\n     <g transform=\"translate(14.798437 156.063906)rotate(-90)scale(0.1 -0.1)\">\r\n      <use xlink:href=\"#DejaVuSans-84\"/>\r\n      <use x=\"60.865234\" xlink:href=\"#DejaVuSans-114\"/>\r\n      <use x=\"101.978516\" xlink:href=\"#DejaVuSans-117\"/>\r\n      <use x=\"165.357422\" xlink:href=\"#DejaVuSans-101\"/>\r\n      <use x=\"226.880859\" xlink:href=\"#DejaVuSans-32\"/>\r\n      <use x=\"258.667969\" xlink:href=\"#DejaVuSans-108\"/>\r\n      <use x=\"286.451172\" xlink:href=\"#DejaVuSans-97\"/>\r\n      <use x=\"347.730469\" xlink:href=\"#DejaVuSans-98\"/>\r\n      <use x=\"411.207031\" xlink:href=\"#DejaVuSans-101\"/>\r\n      <use x=\"472.730469\" xlink:href=\"#DejaVuSans-108\"/>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_3\">\r\n    <path d=\"M 79.1375 239.758125 \r\nL 79.1375 22.318125 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_4\">\r\n    <path d=\"M 296.5775 239.758125 \r\nL 296.5775 22.318125 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_5\">\r\n    <path d=\"M 79.1375 239.758125 \r\nL 296.5775 239.758125 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_6\">\r\n    <path d=\"M 79.1375 22.318125 \r\nL 296.5775 22.318125 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"text_7\">\r\n    <!-- 0.7 -->\r\n    <defs>\r\n     <path d=\"M 31.78125 66.40625 \r\nQ 24.171875 66.40625 20.328125 58.90625 \r\nQ 16.5 51.421875 16.5 36.375 \r\nQ 16.5 21.390625 20.328125 13.890625 \r\nQ 24.171875 6.390625 31.78125 6.390625 \r\nQ 39.453125 6.390625 43.28125 13.890625 \r\nQ 47.125 21.390625 47.125 36.375 \r\nQ 47.125 51.421875 43.28125 58.90625 \r\nQ 39.453125 66.40625 31.78125 66.40625 \r\nz\r\nM 31.78125 74.21875 \r\nQ 44.046875 74.21875 50.515625 64.515625 \r\nQ 56.984375 54.828125 56.984375 36.375 \r\nQ 56.984375 17.96875 50.515625 8.265625 \r\nQ 44.046875 -1.421875 31.78125 -1.421875 \r\nQ 19.53125 -1.421875 13.0625 8.265625 \r\nQ 6.59375 17.96875 6.59375 36.375 \r\nQ 6.59375 54.828125 13.0625 64.515625 \r\nQ 19.53125 74.21875 31.78125 74.21875 \r\nz\r\n\" id=\"DejaVuSans-48\"/>\r\n     <path d=\"M 10.6875 12.40625 \r\nL 21 12.40625 \r\nL 21 0 \r\nL 10.6875 0 \r\nz\r\n\" id=\"DejaVuSans-46\"/>\r\n     <path d=\"M 8.203125 72.90625 \r\nL 55.078125 72.90625 \r\nL 55.078125 68.703125 \r\nL 28.609375 0 \r\nL 18.3125 0 \r\nL 43.21875 64.59375 \r\nL 8.203125 64.59375 \r\nz\r\n\" id=\"DejaVuSans-55\"/>\r\n    </defs>\r\n    <g style=\"fill:#f7fbff;\" transform=\"translate(125.545938 79.4375)scale(0.1 -0.1)\">\r\n     <use xlink:href=\"#DejaVuSans-48\"/>\r\n     <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n     <use x=\"95.410156\" xlink:href=\"#DejaVuSans-55\"/>\r\n    </g>\r\n   </g>\r\n   <g id=\"text_8\">\r\n    <!-- 0.3 -->\r\n    <defs>\r\n     <path d=\"M 40.578125 39.3125 \r\nQ 47.65625 37.796875 51.625 33 \r\nQ 55.609375 28.21875 55.609375 21.1875 \r\nQ 55.609375 10.40625 48.1875 4.484375 \r\nQ 40.765625 -1.421875 27.09375 -1.421875 \r\nQ 22.515625 -1.421875 17.65625 -0.515625 \r\nQ 12.796875 0.390625 7.625 2.203125 \r\nL 7.625 11.71875 \r\nQ 11.71875 9.328125 16.59375 8.109375 \r\nQ 21.484375 6.890625 26.8125 6.890625 \r\nQ 36.078125 6.890625 40.9375 10.546875 \r\nQ 45.796875 14.203125 45.796875 21.1875 \r\nQ 45.796875 27.640625 41.28125 31.265625 \r\nQ 36.765625 34.90625 28.71875 34.90625 \r\nL 20.21875 34.90625 \r\nL 20.21875 43.015625 \r\nL 29.109375 43.015625 \r\nQ 36.375 43.015625 40.234375 45.921875 \r\nQ 44.09375 48.828125 44.09375 54.296875 \r\nQ 44.09375 59.90625 40.109375 62.90625 \r\nQ 36.140625 65.921875 28.71875 65.921875 \r\nQ 24.65625 65.921875 20.015625 65.03125 \r\nQ 15.375 64.15625 9.8125 62.3125 \r\nL 9.8125 71.09375 \r\nQ 15.4375 72.65625 20.34375 73.4375 \r\nQ 25.25 74.21875 29.59375 74.21875 \r\nQ 40.828125 74.21875 47.359375 69.109375 \r\nQ 53.90625 64.015625 53.90625 55.328125 \r\nQ 53.90625 49.265625 50.4375 45.09375 \r\nQ 46.96875 40.921875 40.578125 39.3125 \r\nz\r\n\" id=\"DejaVuSans-51\"/>\r\n    </defs>\r\n    <g style=\"fill:#f7fbff;\" transform=\"translate(234.265938 79.4375)scale(0.1 -0.1)\">\r\n     <use xlink:href=\"#DejaVuSans-48\"/>\r\n     <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n     <use x=\"95.410156\" xlink:href=\"#DejaVuSans-51\"/>\r\n    </g>\r\n   </g>\r\n   <g id=\"text_9\">\r\n    <!-- 0.31 -->\r\n    <defs>\r\n     <path d=\"M 12.40625 8.296875 \r\nL 28.515625 8.296875 \r\nL 28.515625 63.921875 \r\nL 10.984375 60.40625 \r\nL 10.984375 69.390625 \r\nL 28.421875 72.90625 \r\nL 38.28125 72.90625 \r\nL 38.28125 8.296875 \r\nL 54.390625 8.296875 \r\nL 54.390625 0 \r\nL 12.40625 0 \r\nz\r\n\" id=\"DejaVuSans-49\"/>\r\n    </defs>\r\n    <g style=\"fill:#f7fbff;\" transform=\"translate(122.364688 188.1575)scale(0.1 -0.1)\">\r\n     <use xlink:href=\"#DejaVuSans-48\"/>\r\n     <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n     <use x=\"95.410156\" xlink:href=\"#DejaVuSans-51\"/>\r\n     <use x=\"159.033203\" xlink:href=\"#DejaVuSans-49\"/>\r\n    </g>\r\n   </g>\r\n   <g id=\"text_10\">\r\n    <!-- 0.69 -->\r\n    <defs>\r\n     <path d=\"M 33.015625 40.375 \r\nQ 26.375 40.375 22.484375 35.828125 \r\nQ 18.609375 31.296875 18.609375 23.390625 \r\nQ 18.609375 15.53125 22.484375 10.953125 \r\nQ 26.375 6.390625 33.015625 6.390625 \r\nQ 39.65625 6.390625 43.53125 10.953125 \r\nQ 47.40625 15.53125 47.40625 23.390625 \r\nQ 47.40625 31.296875 43.53125 35.828125 \r\nQ 39.65625 40.375 33.015625 40.375 \r\nz\r\nM 52.59375 71.296875 \r\nL 52.59375 62.3125 \r\nQ 48.875 64.0625 45.09375 64.984375 \r\nQ 41.3125 65.921875 37.59375 65.921875 \r\nQ 27.828125 65.921875 22.671875 59.328125 \r\nQ 17.53125 52.734375 16.796875 39.40625 \r\nQ 19.671875 43.65625 24.015625 45.921875 \r\nQ 28.375 48.1875 33.59375 48.1875 \r\nQ 44.578125 48.1875 50.953125 41.515625 \r\nQ 57.328125 34.859375 57.328125 23.390625 \r\nQ 57.328125 12.15625 50.6875 5.359375 \r\nQ 44.046875 -1.421875 33.015625 -1.421875 \r\nQ 20.359375 -1.421875 13.671875 8.265625 \r\nQ 6.984375 17.96875 6.984375 36.375 \r\nQ 6.984375 53.65625 15.1875 63.9375 \r\nQ 23.390625 74.21875 37.203125 74.21875 \r\nQ 40.921875 74.21875 44.703125 73.484375 \r\nQ 48.484375 72.75 52.59375 71.296875 \r\nz\r\n\" id=\"DejaVuSans-54\"/>\r\n     <path d=\"M 10.984375 1.515625 \r\nL 10.984375 10.5 \r\nQ 14.703125 8.734375 18.5 7.8125 \r\nQ 22.3125 6.890625 25.984375 6.890625 \r\nQ 35.75 6.890625 40.890625 13.453125 \r\nQ 46.046875 20.015625 46.78125 33.40625 \r\nQ 43.953125 29.203125 39.59375 26.953125 \r\nQ 35.25 24.703125 29.984375 24.703125 \r\nQ 19.046875 24.703125 12.671875 31.3125 \r\nQ 6.296875 37.9375 6.296875 49.421875 \r\nQ 6.296875 60.640625 12.9375 67.421875 \r\nQ 19.578125 74.21875 30.609375 74.21875 \r\nQ 43.265625 74.21875 49.921875 64.515625 \r\nQ 56.59375 54.828125 56.59375 36.375 \r\nQ 56.59375 19.140625 48.40625 8.859375 \r\nQ 40.234375 -1.421875 26.421875 -1.421875 \r\nQ 22.703125 -1.421875 18.890625 -0.6875 \r\nQ 15.09375 0.046875 10.984375 1.515625 \r\nz\r\nM 30.609375 32.421875 \r\nQ 37.25 32.421875 41.125 36.953125 \r\nQ 45.015625 41.5 45.015625 49.421875 \r\nQ 45.015625 57.28125 41.125 61.84375 \r\nQ 37.25 66.40625 30.609375 66.40625 \r\nQ 23.96875 66.40625 20.09375 61.84375 \r\nQ 16.21875 57.28125 16.21875 49.421875 \r\nQ 16.21875 41.5 20.09375 36.953125 \r\nQ 23.96875 32.421875 30.609375 32.421875 \r\nz\r\n\" id=\"DejaVuSans-57\"/>\r\n    </defs>\r\n    <g style=\"fill:#f7fbff;\" transform=\"translate(231.084688 188.1575)scale(0.1 -0.1)\">\r\n     <use xlink:href=\"#DejaVuSans-48\"/>\r\n     <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n     <use x=\"95.410156\" xlink:href=\"#DejaVuSans-54\"/>\r\n     <use x=\"159.033203\" xlink:href=\"#DejaVuSans-57\"/>\r\n    </g>\r\n   </g>\r\n   <g id=\"text_11\">\r\n    <!-- Confusion Matrix - Normalized -->\r\n    <defs>\r\n     <path d=\"M 64.40625 67.28125 \r\nL 64.40625 56.890625 \r\nQ 59.421875 61.53125 53.78125 63.8125 \r\nQ 48.140625 66.109375 41.796875 66.109375 \r\nQ 29.296875 66.109375 22.65625 58.46875 \r\nQ 16.015625 50.828125 16.015625 36.375 \r\nQ 16.015625 21.96875 22.65625 14.328125 \r\nQ 29.296875 6.6875 41.796875 6.6875 \r\nQ 48.140625 6.6875 53.78125 8.984375 \r\nQ 59.421875 11.28125 64.40625 15.921875 \r\nL 64.40625 5.609375 \r\nQ 59.234375 2.09375 53.4375 0.328125 \r\nQ 47.65625 -1.421875 41.21875 -1.421875 \r\nQ 24.65625 -1.421875 15.125 8.703125 \r\nQ 5.609375 18.84375 5.609375 36.375 \r\nQ 5.609375 53.953125 15.125 64.078125 \r\nQ 24.65625 74.21875 41.21875 74.21875 \r\nQ 47.75 74.21875 53.53125 72.484375 \r\nQ 59.328125 70.75 64.40625 67.28125 \r\nz\r\n\" id=\"DejaVuSans-67\"/>\r\n     <path d=\"M 37.109375 75.984375 \r\nL 37.109375 68.5 \r\nL 28.515625 68.5 \r\nQ 23.6875 68.5 21.796875 66.546875 \r\nQ 19.921875 64.59375 19.921875 59.515625 \r\nL 19.921875 54.6875 \r\nL 34.71875 54.6875 \r\nL 34.71875 47.703125 \r\nL 19.921875 47.703125 \r\nL 19.921875 0 \r\nL 10.890625 0 \r\nL 10.890625 47.703125 \r\nL 2.296875 47.703125 \r\nL 2.296875 54.6875 \r\nL 10.890625 54.6875 \r\nL 10.890625 58.5 \r\nQ 10.890625 67.625 15.140625 71.796875 \r\nQ 19.390625 75.984375 28.609375 75.984375 \r\nz\r\n\" id=\"DejaVuSans-102\"/>\r\n     <path d=\"M 44.28125 53.078125 \r\nL 44.28125 44.578125 \r\nQ 40.484375 46.53125 36.375 47.5 \r\nQ 32.28125 48.484375 27.875 48.484375 \r\nQ 21.1875 48.484375 17.84375 46.4375 \r\nQ 14.5 44.390625 14.5 40.28125 \r\nQ 14.5 37.15625 16.890625 35.375 \r\nQ 19.28125 33.59375 26.515625 31.984375 \r\nL 29.59375 31.296875 \r\nQ 39.15625 29.25 43.1875 25.515625 \r\nQ 47.21875 21.78125 47.21875 15.09375 \r\nQ 47.21875 7.46875 41.1875 3.015625 \r\nQ 35.15625 -1.421875 24.609375 -1.421875 \r\nQ 20.21875 -1.421875 15.453125 -0.5625 \r\nQ 10.6875 0.296875 5.421875 2 \r\nL 5.421875 11.28125 \r\nQ 10.40625 8.6875 15.234375 7.390625 \r\nQ 20.0625 6.109375 24.8125 6.109375 \r\nQ 31.15625 6.109375 34.5625 8.28125 \r\nQ 37.984375 10.453125 37.984375 14.40625 \r\nQ 37.984375 18.0625 35.515625 20.015625 \r\nQ 33.0625 21.96875 24.703125 23.78125 \r\nL 21.578125 24.515625 \r\nQ 13.234375 26.265625 9.515625 29.90625 \r\nQ 5.8125 33.546875 5.8125 39.890625 \r\nQ 5.8125 47.609375 11.28125 51.796875 \r\nQ 16.75 56 26.8125 56 \r\nQ 31.78125 56 36.171875 55.265625 \r\nQ 40.578125 54.546875 44.28125 53.078125 \r\nz\r\n\" id=\"DejaVuSans-115\"/>\r\n     <path d=\"M 9.8125 72.90625 \r\nL 24.515625 72.90625 \r\nL 43.109375 23.296875 \r\nL 61.8125 72.90625 \r\nL 76.515625 72.90625 \r\nL 76.515625 0 \r\nL 66.890625 0 \r\nL 66.890625 64.015625 \r\nL 48.09375 14.015625 \r\nL 38.1875 14.015625 \r\nL 19.390625 64.015625 \r\nL 19.390625 0 \r\nL 9.8125 0 \r\nz\r\n\" id=\"DejaVuSans-77\"/>\r\n     <path d=\"M 54.890625 54.6875 \r\nL 35.109375 28.078125 \r\nL 55.90625 0 \r\nL 45.3125 0 \r\nL 29.390625 21.484375 \r\nL 13.484375 0 \r\nL 2.875 0 \r\nL 24.125 28.609375 \r\nL 4.6875 54.6875 \r\nL 15.28125 54.6875 \r\nL 29.78125 35.203125 \r\nL 44.28125 54.6875 \r\nz\r\n\" id=\"DejaVuSans-120\"/>\r\n     <path d=\"M 4.890625 31.390625 \r\nL 31.203125 31.390625 \r\nL 31.203125 23.390625 \r\nL 4.890625 23.390625 \r\nz\r\n\" id=\"DejaVuSans-45\"/>\r\n     <path d=\"M 9.8125 72.90625 \r\nL 23.09375 72.90625 \r\nL 55.421875 11.921875 \r\nL 55.421875 72.90625 \r\nL 64.984375 72.90625 \r\nL 64.984375 0 \r\nL 51.703125 0 \r\nL 19.390625 60.984375 \r\nL 19.390625 0 \r\nL 9.8125 0 \r\nz\r\n\" id=\"DejaVuSans-78\"/>\r\n     <path d=\"M 52 44.1875 \r\nQ 55.375 50.25 60.0625 53.125 \r\nQ 64.75 56 71.09375 56 \r\nQ 79.640625 56 84.28125 50.015625 \r\nQ 88.921875 44.046875 88.921875 33.015625 \r\nL 88.921875 0 \r\nL 79.890625 0 \r\nL 79.890625 32.71875 \r\nQ 79.890625 40.578125 77.09375 44.375 \r\nQ 74.3125 48.1875 68.609375 48.1875 \r\nQ 61.625 48.1875 57.5625 43.546875 \r\nQ 53.515625 38.921875 53.515625 30.90625 \r\nL 53.515625 0 \r\nL 44.484375 0 \r\nL 44.484375 32.71875 \r\nQ 44.484375 40.625 41.703125 44.40625 \r\nQ 38.921875 48.1875 33.109375 48.1875 \r\nQ 26.21875 48.1875 22.15625 43.53125 \r\nQ 18.109375 38.875 18.109375 30.90625 \r\nL 18.109375 0 \r\nL 9.078125 0 \r\nL 9.078125 54.6875 \r\nL 18.109375 54.6875 \r\nL 18.109375 46.1875 \r\nQ 21.1875 51.21875 25.484375 53.609375 \r\nQ 29.78125 56 35.6875 56 \r\nQ 41.65625 56 45.828125 52.96875 \r\nQ 50 49.953125 52 44.1875 \r\nz\r\n\" id=\"DejaVuSans-109\"/>\r\n     <path d=\"M 5.515625 54.6875 \r\nL 48.1875 54.6875 \r\nL 48.1875 46.484375 \r\nL 14.40625 7.171875 \r\nL 48.1875 7.171875 \r\nL 48.1875 0 \r\nL 4.296875 0 \r\nL 4.296875 8.203125 \r\nL 38.09375 47.515625 \r\nL 5.515625 47.515625 \r\nz\r\n\" id=\"DejaVuSans-122\"/>\r\n    </defs>\r\n    <g transform=\"translate(97.106563 16.318125)scale(0.12 -0.12)\">\r\n     <use xlink:href=\"#DejaVuSans-67\"/>\r\n     <use x=\"69.824219\" xlink:href=\"#DejaVuSans-111\"/>\r\n     <use x=\"131.005859\" xlink:href=\"#DejaVuSans-110\"/>\r\n     <use x=\"194.384766\" xlink:href=\"#DejaVuSans-102\"/>\r\n     <use x=\"229.589844\" xlink:href=\"#DejaVuSans-117\"/>\r\n     <use x=\"292.96875\" xlink:href=\"#DejaVuSans-115\"/>\r\n     <use x=\"345.068359\" xlink:href=\"#DejaVuSans-105\"/>\r\n     <use x=\"372.851562\" xlink:href=\"#DejaVuSans-111\"/>\r\n     <use x=\"434.033203\" xlink:href=\"#DejaVuSans-110\"/>\r\n     <use x=\"497.412109\" xlink:href=\"#DejaVuSans-32\"/>\r\n     <use x=\"529.199219\" xlink:href=\"#DejaVuSans-77\"/>\r\n     <use x=\"615.478516\" xlink:href=\"#DejaVuSans-97\"/>\r\n     <use x=\"676.757812\" xlink:href=\"#DejaVuSans-116\"/>\r\n     <use x=\"715.966797\" xlink:href=\"#DejaVuSans-114\"/>\r\n     <use x=\"757.080078\" xlink:href=\"#DejaVuSans-105\"/>\r\n     <use x=\"784.863281\" xlink:href=\"#DejaVuSans-120\"/>\r\n     <use x=\"844.042969\" xlink:href=\"#DejaVuSans-32\"/>\r\n     <use x=\"875.830078\" xlink:href=\"#DejaVuSans-45\"/>\r\n     <use x=\"911.914062\" xlink:href=\"#DejaVuSans-32\"/>\r\n     <use x=\"943.701172\" xlink:href=\"#DejaVuSans-78\"/>\r\n     <use x=\"1018.505859\" xlink:href=\"#DejaVuSans-111\"/>\r\n     <use x=\"1079.6875\" xlink:href=\"#DejaVuSans-114\"/>\r\n     <use x=\"1120.785156\" xlink:href=\"#DejaVuSans-109\"/>\r\n     <use x=\"1218.197266\" xlink:href=\"#DejaVuSans-97\"/>\r\n     <use x=\"1279.476562\" xlink:href=\"#DejaVuSans-108\"/>\r\n     <use x=\"1307.259766\" xlink:href=\"#DejaVuSans-105\"/>\r\n     <use x=\"1335.042969\" xlink:href=\"#DejaVuSans-122\"/>\r\n     <use x=\"1387.533203\" xlink:href=\"#DejaVuSans-101\"/>\r\n     <use x=\"1449.056641\" xlink:href=\"#DejaVuSans-100\"/>\r\n    </g>\r\n   </g>\r\n  </g>\r\n  <g id=\"axes_2\">\r\n   <g id=\"patch_7\">\r\n    <path clip-path=\"url(#p6cefaa0017)\" d=\"M 313.3175 239.758125 \r\nL 313.3175 238.90875 \r\nL 313.3175 23.1675 \r\nL 313.3175 22.318125 \r\nL 324.1895 22.318125 \r\nL 324.1895 23.1675 \r\nL 324.1895 238.90875 \r\nL 324.1895 239.758125 \r\nz\r\n\" style=\"fill:#ffffff;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.01;\"/>\r\n   </g>\r\n   <image height=\"217\" id=\"imagef15d7212f4\" transform=\"scale(1 -1)translate(0 -217)\" width=\"11\" x=\"313\" xlink:href=\"data:image/png;base64,\r\niVBORw0KGgoAAAANSUhEUgAAAAsAAADZCAYAAAD2WsoCAAAABHNCSVQICAgIfAhkiAAAARxJREFUaIHtmDEOAjEQAwPK/59LgciGFrpMMciL7mpr5dheJ7rb47n3OPzmHsfYMc/nYjChAbBjAizkXAB9ByxM6UIchJMBGGYDcC5NupEhHcwG4ezR0HqD2d2wvjr2Rop0V/h/QiNEOu1VkHJAZDc8oHbDag4udMAMzpWR5zof7LaoxblARhlnszfA5OVVgZc67XGCqkBsUe3uXiTPXj97DiKdF+gC08FzrEnDywa0O6LMPZ3ZPSi2qLewEdJ5/dwxG2i7PZ3NvxCo+SN2MCQb7JXLaESoAQ9o0QiZbNoNaHhB8uzuGKSQ7WZ/AsVsnL8ZUzgzcIbdIdn4f7uvbHyAod2IRsPJ9bImt1RjRdBAk8nCXnZ/gTvabU1+A25V4hFkL86SAAAAAElFTkSuQmCC\" y=\"-22\"/>\r\n   <g id=\"matplotlib.axis_3\"/>\r\n   <g id=\"matplotlib.axis_4\">\r\n    <g id=\"ytick_3\">\r\n     <g id=\"line2d_5\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL 3.5 0 \r\n\" id=\"ma90b31d583\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"324.1895\" xlink:href=\"#ma90b31d583\" y=\"212.885823\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_12\">\r\n      <!-- 0.35 -->\r\n      <defs>\r\n       <path d=\"M 10.796875 72.90625 \r\nL 49.515625 72.90625 \r\nL 49.515625 64.59375 \r\nL 19.828125 64.59375 \r\nL 19.828125 46.734375 \r\nQ 21.96875 47.46875 24.109375 47.828125 \r\nQ 26.265625 48.1875 28.421875 48.1875 \r\nQ 40.625 48.1875 47.75 41.5 \r\nQ 54.890625 34.8125 54.890625 23.390625 \r\nQ 54.890625 11.625 47.5625 5.09375 \r\nQ 40.234375 -1.421875 26.90625 -1.421875 \r\nQ 22.3125 -1.421875 17.546875 -0.640625 \r\nQ 12.796875 0.140625 7.71875 1.703125 \r\nL 7.71875 11.625 \r\nQ 12.109375 9.234375 16.796875 8.0625 \r\nQ 21.484375 6.890625 26.703125 6.890625 \r\nQ 35.15625 6.890625 40.078125 11.328125 \r\nQ 45.015625 15.765625 45.015625 23.390625 \r\nQ 45.015625 31 40.078125 35.4375 \r\nQ 35.15625 39.890625 26.703125 39.890625 \r\nQ 22.75 39.890625 18.8125 39.015625 \r\nQ 14.890625 38.140625 10.796875 36.28125 \r\nz\r\n\" id=\"DejaVuSans-53\"/>\r\n      </defs>\r\n      <g transform=\"translate(331.1895 216.685042)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-51\"/>\r\n       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-53\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_4\">\r\n     <g id=\"line2d_6\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"324.1895\" xlink:href=\"#ma90b31d583\" y=\"185.603257\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_13\">\r\n      <!-- 0.40 -->\r\n      <defs>\r\n       <path d=\"M 37.796875 64.3125 \r\nL 12.890625 25.390625 \r\nL 37.796875 25.390625 \r\nz\r\nM 35.203125 72.90625 \r\nL 47.609375 72.90625 \r\nL 47.609375 25.390625 \r\nL 58.015625 25.390625 \r\nL 58.015625 17.1875 \r\nL 47.609375 17.1875 \r\nL 47.609375 0 \r\nL 37.796875 0 \r\nL 37.796875 17.1875 \r\nL 4.890625 17.1875 \r\nL 4.890625 26.703125 \r\nz\r\n\" id=\"DejaVuSans-52\"/>\r\n      </defs>\r\n      <g transform=\"translate(331.1895 189.402476)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-52\"/>\r\n       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_5\">\r\n     <g id=\"line2d_7\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"324.1895\" xlink:href=\"#ma90b31d583\" y=\"158.320691\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_14\">\r\n      <!-- 0.45 -->\r\n      <g transform=\"translate(331.1895 162.11991)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-52\"/>\r\n       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-53\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_6\">\r\n     <g id=\"line2d_8\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"324.1895\" xlink:href=\"#ma90b31d583\" y=\"131.038125\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_15\">\r\n      <!-- 0.50 -->\r\n      <g transform=\"translate(331.1895 134.837344)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-53\"/>\r\n       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_7\">\r\n     <g id=\"line2d_9\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"324.1895\" xlink:href=\"#ma90b31d583\" y=\"103.755559\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_16\">\r\n      <!-- 0.55 -->\r\n      <g transform=\"translate(331.1895 107.554778)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-53\"/>\r\n       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-53\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_8\">\r\n     <g id=\"line2d_10\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"324.1895\" xlink:href=\"#ma90b31d583\" y=\"76.472993\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_17\">\r\n      <!-- 0.60 -->\r\n      <g transform=\"translate(331.1895 80.272212)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-54\"/>\r\n       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_9\">\r\n     <g id=\"line2d_11\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"324.1895\" xlink:href=\"#ma90b31d583\" y=\"49.190427\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_18\">\r\n      <!-- 0.65 -->\r\n      <g transform=\"translate(331.1895 52.989646)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-54\"/>\r\n       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-53\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_8\">\r\n    <path d=\"M 313.3175 239.758125 \r\nL 313.3175 238.90875 \r\nL 313.3175 23.1675 \r\nL 313.3175 22.318125 \r\nL 324.1895 22.318125 \r\nL 324.1895 23.1675 \r\nL 324.1895 238.90875 \r\nL 324.1895 239.758125 \r\nz\r\n\" style=\"fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n  </g>\r\n </g>\r\n <defs>\r\n  <clipPath id=\"pdb3f51031d\">\r\n   <rect height=\"217.44\" width=\"217.44\" x=\"79.1375\" y=\"22.318125\"/>\r\n  </clipPath>\r\n  <clipPath id=\"p6cefaa0017\">\r\n   <rect height=\"217.44\" width=\"10.872\" x=\"313.3175\" y=\"22.318125\"/>\r\n  </clipPath>\r\n </defs>\r\n</svg>\r\n",
      "text/plain": "<Figure size 432x288 with 2 Axes>"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.metrics import confusion_matrix, plot_confusion_matrix\n",
    "\n",
    "rf_matrix = confusion_matrix(y_test, y_pred)\n",
    "\n",
    "true_negatives = rf_matrix[0][0]\n",
    "false_negatives = rf_matrix[1][0]\n",
    "true_positives = rf_matrix[1][1]\n",
    "false_positives = rf_matrix[0][1]\n",
    "\n",
    "accuracy = (true_negatives + true_positives) / (true_negatives + true_positives + false_negatives + false_positives)\n",
    "percision = true_positives / (true_positives + false_positives)\n",
    "recall = true_positives / (true_positives + false_negatives)\n",
    "specificity = true_negatives / (true_negatives + false_positives)\n",
    "\n",
    "print('Accuracy: {}'.format(float(accuracy)))\n",
    "print('Percision: {}'.format(float(percision)))\n",
    "print('Recall: {}'.format(float(recall)))\n",
    "print('Specificity: {}'.format(float(specificity)))\n",
    "\n",
    "disp = plot_confusion_matrix(rand_frst_clf, X_test, y_test, display_labels = ['Down Day', 'Up Day'], normalize = 'true', cmap=plt.cm.Blues)\n",
    "disp.ax_.set_title('Confusion Matrix - Normalized')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Model Evaluation: Feature Importance\n",
    "With any model, you want to have an idea of what features are helping explain most of the model, as this can give you insight as to why you're getting the results you are. With Random Forest, we can identify some of our most important features or, in other words, the features that help explain most of the model. In some cases, some of our features might not be very important, or in other words, when compared to additional features, don't explain much of the model.\n",
    "\n",
    "### Why Do We Care About Feature Importance?\n",
    "What that means is if we were to get rid of those features, our accuracy will go down a little, hopefully, but not significantly. You might be asking, \"Why would I want to get rid of a feature if it lowers my accuracy?\" Well, it depends, in some cases, you don't care if your model is 95% accurate or 92% accurate. To you, a 92% accurate model is just as good as a 95% accurate model.\n",
    "\n",
    "However, if you wanted to get a 95% accurate model, you would, in this hypothetical case, have to train your model twice as long. Now, I'm a little extreme in this case, but the idea is the same. The cost doesn't justify the benefit. In the real world, we have to make these decisions all the time, and in some cases, it just doesn't warrant the extra cost for such a minimal increase in the accuracy.\n",
    "\n",
    "### Calculating the Feature Importance\n",
    "Like all the previous steps, SkLearn makes this process very easy. Take your `rand_frst_clf` and call the `feature_importances_` property. This will return all of our features and their importance measurement. Store the values in a `Pandas.Series` object and sore the values.\n",
    "\n",
    "Feature importance can be calculated two ways in Random Forest:\n",
    "\n",
    "1. Gini-Based Importance\n",
    "2. Accuracy-Based Importance\n",
    "\n",
    "Here is how both measures of importance are calculated.\n",
    "\n",
    "With `sklearn` they use the Gini-Importance metric for the Random Forest Algorithm.\n",
    "\n",
    "We can see in our model, that the most important feature is `k_percent` and our least important feature is `Price_Rate_Of_Change`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": "r_percent               0.204258\nk_percent               0.193855\nRSI                     0.173396\nMACD                    0.161333\nPrice_Rate_Of_Change    0.151735\nOn Balance Volume       0.115424\ndtype: float64"
     },
     "execution_count": 96,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Calculate feature importance and store in pandas series\n",
    "feature_imp = pd.Series(rand_frst_clf.feature_importances_, index=X_Cols.columns).sort_values(ascending=False)\n",
    "feature_imp"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Model Evaluation: Feature Importance Graphing\n",
    "If you want, you can also graph the feature importance of our model, so it's a little easier to visualize the results. What I do in the chart below is chart the cumulative importance or, in other words, how much does each feature add to the total. That way, we can see how much each feature is contributing to the overall importance. Another standard graph that is used is a bar chart."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": "Text(0.5, 1.0, 'Random Forest: Feature Importance Graph')"
     },
     "execution_count": 97,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n<svg height=\"380.031563pt\" version=\"1.1\" viewBox=\"0 0 385.78125 380.031563\" width=\"385.78125pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <defs>\r\n  <style type=\"text/css\">\r\n*{stroke-linecap:butt;stroke-linejoin:round;}\r\n  </style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n  <g id=\"patch_1\">\r\n   <path d=\"M 0 380.031563 \r\nL 385.78125 380.031563 \r\nL 385.78125 0 \r\nL 0 0 \r\nz\r\n\" style=\"fill:none;\"/>\r\n  </g>\r\n  <g id=\"axes_1\">\r\n   <g id=\"patch_2\">\r\n    <path d=\"M 43.78125 239.758125 \r\nL 378.58125 239.758125 \r\nL 378.58125 22.318125 \r\nL 43.78125 22.318125 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_1\">\r\n    <g id=\"xtick_1\">\r\n     <g id=\"line2d_1\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL 0 3.5 \r\n\" id=\"m85d0c7a1cc\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"58.999432\" xlink:href=\"#m85d0c7a1cc\" y=\"239.758125\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_1\">\r\n      <!-- r_percent -->\r\n      <defs>\r\n       <path d=\"M 41.109375 46.296875 \r\nQ 39.59375 47.171875 37.8125 47.578125 \r\nQ 36.03125 48 33.890625 48 \r\nQ 26.265625 48 22.1875 43.046875 \r\nQ 18.109375 38.09375 18.109375 28.8125 \r\nL 18.109375 0 \r\nL 9.078125 0 \r\nL 9.078125 54.6875 \r\nL 18.109375 54.6875 \r\nL 18.109375 46.1875 \r\nQ 20.953125 51.171875 25.484375 53.578125 \r\nQ 30.03125 56 36.53125 56 \r\nQ 37.453125 56 38.578125 55.875 \r\nQ 39.703125 55.765625 41.0625 55.515625 \r\nz\r\n\" id=\"DejaVuSans-114\"/>\r\n       <path d=\"M 50.984375 -16.609375 \r\nL 50.984375 -23.578125 \r\nL -0.984375 -23.578125 \r\nL -0.984375 -16.609375 \r\nz\r\n\" id=\"DejaVuSans-95\"/>\r\n       <path d=\"M 18.109375 8.203125 \r\nL 18.109375 -20.796875 \r\nL 9.078125 -20.796875 \r\nL 9.078125 54.6875 \r\nL 18.109375 54.6875 \r\nL 18.109375 46.390625 \r\nQ 20.953125 51.265625 25.265625 53.625 \r\nQ 29.59375 56 35.59375 56 \r\nQ 45.5625 56 51.78125 48.09375 \r\nQ 58.015625 40.1875 58.015625 27.296875 \r\nQ 58.015625 14.40625 51.78125 6.484375 \r\nQ 45.5625 -1.421875 35.59375 -1.421875 \r\nQ 29.59375 -1.421875 25.265625 0.953125 \r\nQ 20.953125 3.328125 18.109375 8.203125 \r\nz\r\nM 48.6875 27.296875 \r\nQ 48.6875 37.203125 44.609375 42.84375 \r\nQ 40.53125 48.484375 33.40625 48.484375 \r\nQ 26.265625 48.484375 22.1875 42.84375 \r\nQ 18.109375 37.203125 18.109375 27.296875 \r\nQ 18.109375 17.390625 22.1875 11.75 \r\nQ 26.265625 6.109375 33.40625 6.109375 \r\nQ 40.53125 6.109375 44.609375 11.75 \r\nQ 48.6875 17.390625 48.6875 27.296875 \r\nz\r\n\" id=\"DejaVuSans-112\"/>\r\n       <path d=\"M 56.203125 29.59375 \r\nL 56.203125 25.203125 \r\nL 14.890625 25.203125 \r\nQ 15.484375 15.921875 20.484375 11.0625 \r\nQ 25.484375 6.203125 34.421875 6.203125 \r\nQ 39.59375 6.203125 44.453125 7.46875 \r\nQ 49.3125 8.734375 54.109375 11.28125 \r\nL 54.109375 2.78125 \r\nQ 49.265625 0.734375 44.1875 -0.34375 \r\nQ 39.109375 -1.421875 33.890625 -1.421875 \r\nQ 20.796875 -1.421875 13.15625 6.1875 \r\nQ 5.515625 13.8125 5.515625 26.8125 \r\nQ 5.515625 40.234375 12.765625 48.109375 \r\nQ 20.015625 56 32.328125 56 \r\nQ 43.359375 56 49.78125 48.890625 \r\nQ 56.203125 41.796875 56.203125 29.59375 \r\nz\r\nM 47.21875 32.234375 \r\nQ 47.125 39.59375 43.09375 43.984375 \r\nQ 39.0625 48.390625 32.421875 48.390625 \r\nQ 24.90625 48.390625 20.390625 44.140625 \r\nQ 15.875 39.890625 15.1875 32.171875 \r\nz\r\n\" id=\"DejaVuSans-101\"/>\r\n       <path d=\"M 48.78125 52.59375 \r\nL 48.78125 44.1875 \r\nQ 44.96875 46.296875 41.140625 47.34375 \r\nQ 37.3125 48.390625 33.40625 48.390625 \r\nQ 24.65625 48.390625 19.8125 42.84375 \r\nQ 14.984375 37.3125 14.984375 27.296875 \r\nQ 14.984375 17.28125 19.8125 11.734375 \r\nQ 24.65625 6.203125 33.40625 6.203125 \r\nQ 37.3125 6.203125 41.140625 7.25 \r\nQ 44.96875 8.296875 48.78125 10.40625 \r\nL 48.78125 2.09375 \r\nQ 45.015625 0.34375 40.984375 -0.53125 \r\nQ 36.96875 -1.421875 32.421875 -1.421875 \r\nQ 20.0625 -1.421875 12.78125 6.34375 \r\nQ 5.515625 14.109375 5.515625 27.296875 \r\nQ 5.515625 40.671875 12.859375 48.328125 \r\nQ 20.21875 56 33.015625 56 \r\nQ 37.15625 56 41.109375 55.140625 \r\nQ 45.0625 54.296875 48.78125 52.59375 \r\nz\r\n\" id=\"DejaVuSans-99\"/>\r\n       <path d=\"M 54.890625 33.015625 \r\nL 54.890625 0 \r\nL 45.90625 0 \r\nL 45.90625 32.71875 \r\nQ 45.90625 40.484375 42.875 44.328125 \r\nQ 39.84375 48.1875 33.796875 48.1875 \r\nQ 26.515625 48.1875 22.3125 43.546875 \r\nQ 18.109375 38.921875 18.109375 30.90625 \r\nL 18.109375 0 \r\nL 9.078125 0 \r\nL 9.078125 54.6875 \r\nL 18.109375 54.6875 \r\nL 18.109375 46.1875 \r\nQ 21.34375 51.125 25.703125 53.5625 \r\nQ 30.078125 56 35.796875 56 \r\nQ 45.21875 56 50.046875 50.171875 \r\nQ 54.890625 44.34375 54.890625 33.015625 \r\nz\r\n\" id=\"DejaVuSans-110\"/>\r\n       <path d=\"M 18.3125 70.21875 \r\nL 18.3125 54.6875 \r\nL 36.8125 54.6875 \r\nL 36.8125 47.703125 \r\nL 18.3125 47.703125 \r\nL 18.3125 18.015625 \r\nQ 18.3125 11.328125 20.140625 9.421875 \r\nQ 21.96875 7.515625 27.59375 7.515625 \r\nL 36.8125 7.515625 \r\nL 36.8125 0 \r\nL 27.59375 0 \r\nQ 17.1875 0 13.234375 3.875 \r\nQ 9.28125 7.765625 9.28125 18.015625 \r\nL 9.28125 47.703125 \r\nL 2.6875 47.703125 \r\nL 2.6875 54.6875 \r\nL 9.28125 54.6875 \r\nL 9.28125 70.21875 \r\nz\r\n\" id=\"DejaVuSans-116\"/>\r\n      </defs>\r\n      <g transform=\"translate(61.480682 294.387812)rotate(-90)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-114\"/>\r\n       <use x=\"41.113281\" xlink:href=\"#DejaVuSans-95\"/>\r\n       <use x=\"91.113281\" xlink:href=\"#DejaVuSans-112\"/>\r\n       <use x=\"154.589844\" xlink:href=\"#DejaVuSans-101\"/>\r\n       <use x=\"216.113281\" xlink:href=\"#DejaVuSans-114\"/>\r\n       <use x=\"257.195312\" xlink:href=\"#DejaVuSans-99\"/>\r\n       <use x=\"312.175781\" xlink:href=\"#DejaVuSans-101\"/>\r\n       <use x=\"373.699219\" xlink:href=\"#DejaVuSans-110\"/>\r\n       <use x=\"437.078125\" xlink:href=\"#DejaVuSans-116\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_2\">\r\n     <g id=\"line2d_2\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"109.726705\" xlink:href=\"#m85d0c7a1cc\" y=\"239.758125\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_2\">\r\n      <!-- k_percent -->\r\n      <defs>\r\n       <path d=\"M 9.078125 75.984375 \r\nL 18.109375 75.984375 \r\nL 18.109375 31.109375 \r\nL 44.921875 54.6875 \r\nL 56.390625 54.6875 \r\nL 27.390625 29.109375 \r\nL 57.625 0 \r\nL 45.90625 0 \r\nL 18.109375 26.703125 \r\nL 18.109375 0 \r\nL 9.078125 0 \r\nz\r\n\" id=\"DejaVuSans-107\"/>\r\n      </defs>\r\n      <g transform=\"translate(112.347017 296.0675)rotate(-90)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-107\"/>\r\n       <use x=\"57.910156\" xlink:href=\"#DejaVuSans-95\"/>\r\n       <use x=\"107.910156\" xlink:href=\"#DejaVuSans-112\"/>\r\n       <use x=\"171.386719\" xlink:href=\"#DejaVuSans-101\"/>\r\n       <use x=\"232.910156\" xlink:href=\"#DejaVuSans-114\"/>\r\n       <use x=\"273.992188\" xlink:href=\"#DejaVuSans-99\"/>\r\n       <use x=\"328.972656\" xlink:href=\"#DejaVuSans-101\"/>\r\n       <use x=\"390.496094\" xlink:href=\"#DejaVuSans-110\"/>\r\n       <use x=\"453.875\" xlink:href=\"#DejaVuSans-116\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_3\">\r\n     <g id=\"line2d_3\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"160.453977\" xlink:href=\"#m85d0c7a1cc\" y=\"239.758125\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_3\">\r\n      <!-- RSI -->\r\n      <defs>\r\n       <path d=\"M 44.390625 34.1875 \r\nQ 47.5625 33.109375 50.5625 29.59375 \r\nQ 53.5625 26.078125 56.59375 19.921875 \r\nL 66.609375 0 \r\nL 56 0 \r\nL 46.6875 18.703125 \r\nQ 43.0625 26.03125 39.671875 28.421875 \r\nQ 36.28125 30.8125 30.421875 30.8125 \r\nL 19.671875 30.8125 \r\nL 19.671875 0 \r\nL 9.8125 0 \r\nL 9.8125 72.90625 \r\nL 32.078125 72.90625 \r\nQ 44.578125 72.90625 50.734375 67.671875 \r\nQ 56.890625 62.453125 56.890625 51.90625 \r\nQ 56.890625 45.015625 53.6875 40.46875 \r\nQ 50.484375 35.9375 44.390625 34.1875 \r\nz\r\nM 19.671875 64.796875 \r\nL 19.671875 38.921875 \r\nL 32.078125 38.921875 \r\nQ 39.203125 38.921875 42.84375 42.21875 \r\nQ 46.484375 45.515625 46.484375 51.90625 \r\nQ 46.484375 58.296875 42.84375 61.546875 \r\nQ 39.203125 64.796875 32.078125 64.796875 \r\nz\r\n\" id=\"DejaVuSans-82\"/>\r\n       <path d=\"M 53.515625 70.515625 \r\nL 53.515625 60.890625 \r\nQ 47.90625 63.578125 42.921875 64.890625 \r\nQ 37.9375 66.21875 33.296875 66.21875 \r\nQ 25.25 66.21875 20.875 63.09375 \r\nQ 16.5 59.96875 16.5 54.203125 \r\nQ 16.5 49.359375 19.40625 46.890625 \r\nQ 22.3125 44.4375 30.421875 42.921875 \r\nL 36.375 41.703125 \r\nQ 47.40625 39.59375 52.65625 34.296875 \r\nQ 57.90625 29 57.90625 20.125 \r\nQ 57.90625 9.515625 50.796875 4.046875 \r\nQ 43.703125 -1.421875 29.984375 -1.421875 \r\nQ 24.8125 -1.421875 18.96875 -0.25 \r\nQ 13.140625 0.921875 6.890625 3.21875 \r\nL 6.890625 13.375 \r\nQ 12.890625 10.015625 18.65625 8.296875 \r\nQ 24.421875 6.59375 29.984375 6.59375 \r\nQ 38.421875 6.59375 43.015625 9.90625 \r\nQ 47.609375 13.234375 47.609375 19.390625 \r\nQ 47.609375 24.75 44.3125 27.78125 \r\nQ 41.015625 30.8125 33.5 32.328125 \r\nL 27.484375 33.5 \r\nQ 16.453125 35.6875 11.515625 40.375 \r\nQ 6.59375 45.0625 6.59375 53.421875 \r\nQ 6.59375 63.09375 13.40625 68.65625 \r\nQ 20.21875 74.21875 32.171875 74.21875 \r\nQ 37.3125 74.21875 42.625 73.28125 \r\nQ 47.953125 72.359375 53.515625 70.515625 \r\nz\r\n\" id=\"DejaVuSans-83\"/>\r\n       <path d=\"M 9.8125 72.90625 \r\nL 19.671875 72.90625 \r\nL 19.671875 0 \r\nL 9.8125 0 \r\nz\r\n\" id=\"DejaVuSans-73\"/>\r\n      </defs>\r\n      <g transform=\"translate(163.213352 263.005)rotate(-90)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-82\"/>\r\n       <use x=\"69.482422\" xlink:href=\"#DejaVuSans-83\"/>\r\n       <use x=\"132.958984\" xlink:href=\"#DejaVuSans-73\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_4\">\r\n     <g id=\"line2d_4\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"211.18125\" xlink:href=\"#m85d0c7a1cc\" y=\"239.758125\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_4\">\r\n      <!-- MACD -->\r\n      <defs>\r\n       <path d=\"M 9.8125 72.90625 \r\nL 24.515625 72.90625 \r\nL 43.109375 23.296875 \r\nL 61.8125 72.90625 \r\nL 76.515625 72.90625 \r\nL 76.515625 0 \r\nL 66.890625 0 \r\nL 66.890625 64.015625 \r\nL 48.09375 14.015625 \r\nL 38.1875 14.015625 \r\nL 19.390625 64.015625 \r\nL 19.390625 0 \r\nL 9.8125 0 \r\nz\r\n\" id=\"DejaVuSans-77\"/>\r\n       <path d=\"M 34.1875 63.1875 \r\nL 20.796875 26.90625 \r\nL 47.609375 26.90625 \r\nz\r\nM 28.609375 72.90625 \r\nL 39.796875 72.90625 \r\nL 67.578125 0 \r\nL 57.328125 0 \r\nL 50.6875 18.703125 \r\nL 17.828125 18.703125 \r\nL 11.1875 0 \r\nL 0.78125 0 \r\nz\r\n\" id=\"DejaVuSans-65\"/>\r\n       <path d=\"M 64.40625 67.28125 \r\nL 64.40625 56.890625 \r\nQ 59.421875 61.53125 53.78125 63.8125 \r\nQ 48.140625 66.109375 41.796875 66.109375 \r\nQ 29.296875 66.109375 22.65625 58.46875 \r\nQ 16.015625 50.828125 16.015625 36.375 \r\nQ 16.015625 21.96875 22.65625 14.328125 \r\nQ 29.296875 6.6875 41.796875 6.6875 \r\nQ 48.140625 6.6875 53.78125 8.984375 \r\nQ 59.421875 11.28125 64.40625 15.921875 \r\nL 64.40625 5.609375 \r\nQ 59.234375 2.09375 53.4375 0.328125 \r\nQ 47.65625 -1.421875 41.21875 -1.421875 \r\nQ 24.65625 -1.421875 15.125 8.703125 \r\nQ 5.609375 18.84375 5.609375 36.375 \r\nQ 5.609375 53.953125 15.125 64.078125 \r\nQ 24.65625 74.21875 41.21875 74.21875 \r\nQ 47.75 74.21875 53.53125 72.484375 \r\nQ 59.328125 70.75 64.40625 67.28125 \r\nz\r\n\" id=\"DejaVuSans-67\"/>\r\n       <path d=\"M 19.671875 64.796875 \r\nL 19.671875 8.109375 \r\nL 31.59375 8.109375 \r\nQ 46.6875 8.109375 53.6875 14.9375 \r\nQ 60.6875 21.78125 60.6875 36.53125 \r\nQ 60.6875 51.171875 53.6875 57.984375 \r\nQ 46.6875 64.796875 31.59375 64.796875 \r\nz\r\nM 9.8125 72.90625 \r\nL 30.078125 72.90625 \r\nQ 51.265625 72.90625 61.171875 64.09375 \r\nQ 71.09375 55.28125 71.09375 36.53125 \r\nQ 71.09375 17.671875 61.125 8.828125 \r\nQ 51.171875 0 30.078125 0 \r\nL 9.8125 0 \r\nz\r\n\" id=\"DejaVuSans-68\"/>\r\n      </defs>\r\n      <g transform=\"translate(213.940625 276.908125)rotate(-90)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-77\"/>\r\n       <use x=\"86.279297\" xlink:href=\"#DejaVuSans-65\"/>\r\n       <use x=\"154.671875\" xlink:href=\"#DejaVuSans-67\"/>\r\n       <use x=\"224.496094\" xlink:href=\"#DejaVuSans-68\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_5\">\r\n     <g id=\"line2d_5\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"261.908523\" xlink:href=\"#m85d0c7a1cc\" y=\"239.758125\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_5\">\r\n      <!-- Price_Rate_Of_Change -->\r\n      <defs>\r\n       <path d=\"M 19.671875 64.796875 \r\nL 19.671875 37.40625 \r\nL 32.078125 37.40625 \r\nQ 38.96875 37.40625 42.71875 40.96875 \r\nQ 46.484375 44.53125 46.484375 51.125 \r\nQ 46.484375 57.671875 42.71875 61.234375 \r\nQ 38.96875 64.796875 32.078125 64.796875 \r\nz\r\nM 9.8125 72.90625 \r\nL 32.078125 72.90625 \r\nQ 44.34375 72.90625 50.609375 67.359375 \r\nQ 56.890625 61.8125 56.890625 51.125 \r\nQ 56.890625 40.328125 50.609375 34.8125 \r\nQ 44.34375 29.296875 32.078125 29.296875 \r\nL 19.671875 29.296875 \r\nL 19.671875 0 \r\nL 9.8125 0 \r\nz\r\n\" id=\"DejaVuSans-80\"/>\r\n       <path d=\"M 9.421875 54.6875 \r\nL 18.40625 54.6875 \r\nL 18.40625 0 \r\nL 9.421875 0 \r\nz\r\nM 9.421875 75.984375 \r\nL 18.40625 75.984375 \r\nL 18.40625 64.59375 \r\nL 9.421875 64.59375 \r\nz\r\n\" id=\"DejaVuSans-105\"/>\r\n       <path d=\"M 34.28125 27.484375 \r\nQ 23.390625 27.484375 19.1875 25 \r\nQ 14.984375 22.515625 14.984375 16.5 \r\nQ 14.984375 11.71875 18.140625 8.90625 \r\nQ 21.296875 6.109375 26.703125 6.109375 \r\nQ 34.1875 6.109375 38.703125 11.40625 \r\nQ 43.21875 16.703125 43.21875 25.484375 \r\nL 43.21875 27.484375 \r\nz\r\nM 52.203125 31.203125 \r\nL 52.203125 0 \r\nL 43.21875 0 \r\nL 43.21875 8.296875 \r\nQ 40.140625 3.328125 35.546875 0.953125 \r\nQ 30.953125 -1.421875 24.3125 -1.421875 \r\nQ 15.921875 -1.421875 10.953125 3.296875 \r\nQ 6 8.015625 6 15.921875 \r\nQ 6 25.140625 12.171875 29.828125 \r\nQ 18.359375 34.515625 30.609375 34.515625 \r\nL 43.21875 34.515625 \r\nL 43.21875 35.40625 \r\nQ 43.21875 41.609375 39.140625 45 \r\nQ 35.0625 48.390625 27.6875 48.390625 \r\nQ 23 48.390625 18.546875 47.265625 \r\nQ 14.109375 46.140625 10.015625 43.890625 \r\nL 10.015625 52.203125 \r\nQ 14.9375 54.109375 19.578125 55.046875 \r\nQ 24.21875 56 28.609375 56 \r\nQ 40.484375 56 46.34375 49.84375 \r\nQ 52.203125 43.703125 52.203125 31.203125 \r\nz\r\n\" id=\"DejaVuSans-97\"/>\r\n       <path d=\"M 39.40625 66.21875 \r\nQ 28.65625 66.21875 22.328125 58.203125 \r\nQ 16.015625 50.203125 16.015625 36.375 \r\nQ 16.015625 22.609375 22.328125 14.59375 \r\nQ 28.65625 6.59375 39.40625 6.59375 \r\nQ 50.140625 6.59375 56.421875 14.59375 \r\nQ 62.703125 22.609375 62.703125 36.375 \r\nQ 62.703125 50.203125 56.421875 58.203125 \r\nQ 50.140625 66.21875 39.40625 66.21875 \r\nz\r\nM 39.40625 74.21875 \r\nQ 54.734375 74.21875 63.90625 63.9375 \r\nQ 73.09375 53.65625 73.09375 36.375 \r\nQ 73.09375 19.140625 63.90625 8.859375 \r\nQ 54.734375 -1.421875 39.40625 -1.421875 \r\nQ 24.03125 -1.421875 14.8125 8.828125 \r\nQ 5.609375 19.09375 5.609375 36.375 \r\nQ 5.609375 53.65625 14.8125 63.9375 \r\nQ 24.03125 74.21875 39.40625 74.21875 \r\nz\r\n\" id=\"DejaVuSans-79\"/>\r\n       <path d=\"M 37.109375 75.984375 \r\nL 37.109375 68.5 \r\nL 28.515625 68.5 \r\nQ 23.6875 68.5 21.796875 66.546875 \r\nQ 19.921875 64.59375 19.921875 59.515625 \r\nL 19.921875 54.6875 \r\nL 34.71875 54.6875 \r\nL 34.71875 47.703125 \r\nL 19.921875 47.703125 \r\nL 19.921875 0 \r\nL 10.890625 0 \r\nL 10.890625 47.703125 \r\nL 2.296875 47.703125 \r\nL 2.296875 54.6875 \r\nL 10.890625 54.6875 \r\nL 10.890625 58.5 \r\nQ 10.890625 67.625 15.140625 71.796875 \r\nQ 19.390625 75.984375 28.609375 75.984375 \r\nz\r\n\" id=\"DejaVuSans-102\"/>\r\n       <path d=\"M 54.890625 33.015625 \r\nL 54.890625 0 \r\nL 45.90625 0 \r\nL 45.90625 32.71875 \r\nQ 45.90625 40.484375 42.875 44.328125 \r\nQ 39.84375 48.1875 33.796875 48.1875 \r\nQ 26.515625 48.1875 22.3125 43.546875 \r\nQ 18.109375 38.921875 18.109375 30.90625 \r\nL 18.109375 0 \r\nL 9.078125 0 \r\nL 9.078125 75.984375 \r\nL 18.109375 75.984375 \r\nL 18.109375 46.1875 \r\nQ 21.34375 51.125 25.703125 53.5625 \r\nQ 30.078125 56 35.796875 56 \r\nQ 45.21875 56 50.046875 50.171875 \r\nQ 54.890625 44.34375 54.890625 33.015625 \r\nz\r\n\" id=\"DejaVuSans-104\"/>\r\n       <path d=\"M 45.40625 27.984375 \r\nQ 45.40625 37.75 41.375 43.109375 \r\nQ 37.359375 48.484375 30.078125 48.484375 \r\nQ 22.859375 48.484375 18.828125 43.109375 \r\nQ 14.796875 37.75 14.796875 27.984375 \r\nQ 14.796875 18.265625 18.828125 12.890625 \r\nQ 22.859375 7.515625 30.078125 7.515625 \r\nQ 37.359375 7.515625 41.375 12.890625 \r\nQ 45.40625 18.265625 45.40625 27.984375 \r\nz\r\nM 54.390625 6.78125 \r\nQ 54.390625 -7.171875 48.1875 -13.984375 \r\nQ 42 -20.796875 29.203125 -20.796875 \r\nQ 24.46875 -20.796875 20.265625 -20.09375 \r\nQ 16.0625 -19.390625 12.109375 -17.921875 \r\nL 12.109375 -9.1875 \r\nQ 16.0625 -11.328125 19.921875 -12.34375 \r\nQ 23.78125 -13.375 27.78125 -13.375 \r\nQ 36.625 -13.375 41.015625 -8.765625 \r\nQ 45.40625 -4.15625 45.40625 5.171875 \r\nL 45.40625 9.625 \r\nQ 42.625 4.78125 38.28125 2.390625 \r\nQ 33.9375 0 27.875 0 \r\nQ 17.828125 0 11.671875 7.65625 \r\nQ 5.515625 15.328125 5.515625 27.984375 \r\nQ 5.515625 40.671875 11.671875 48.328125 \r\nQ 17.828125 56 27.875 56 \r\nQ 33.9375 56 38.28125 53.609375 \r\nQ 42.625 51.21875 45.40625 46.390625 \r\nL 45.40625 54.6875 \r\nL 54.390625 54.6875 \r\nz\r\n\" id=\"DejaVuSans-103\"/>\r\n      </defs>\r\n      <g transform=\"translate(264.528835 359.153437)rotate(-90)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-80\"/>\r\n       <use x=\"60.287109\" xlink:href=\"#DejaVuSans-114\"/>\r\n       <use x=\"101.400391\" xlink:href=\"#DejaVuSans-105\"/>\r\n       <use x=\"129.183594\" xlink:href=\"#DejaVuSans-99\"/>\r\n       <use x=\"184.164062\" xlink:href=\"#DejaVuSans-101\"/>\r\n       <use x=\"245.6875\" xlink:href=\"#DejaVuSans-95\"/>\r\n       <use x=\"295.6875\" xlink:href=\"#DejaVuSans-82\"/>\r\n       <use x=\"365.138672\" xlink:href=\"#DejaVuSans-97\"/>\r\n       <use x=\"426.417969\" xlink:href=\"#DejaVuSans-116\"/>\r\n       <use x=\"465.626953\" xlink:href=\"#DejaVuSans-101\"/>\r\n       <use x=\"527.150391\" xlink:href=\"#DejaVuSans-95\"/>\r\n       <use x=\"577.150391\" xlink:href=\"#DejaVuSans-79\"/>\r\n       <use x=\"655.861328\" xlink:href=\"#DejaVuSans-102\"/>\r\n       <use x=\"691.066406\" xlink:href=\"#DejaVuSans-95\"/>\r\n       <use x=\"741.066406\" xlink:href=\"#DejaVuSans-67\"/>\r\n       <use x=\"810.890625\" xlink:href=\"#DejaVuSans-104\"/>\r\n       <use x=\"874.269531\" xlink:href=\"#DejaVuSans-97\"/>\r\n       <use x=\"935.548828\" xlink:href=\"#DejaVuSans-110\"/>\r\n       <use x=\"998.927734\" xlink:href=\"#DejaVuSans-103\"/>\r\n       <use x=\"1062.404297\" xlink:href=\"#DejaVuSans-101\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_6\">\r\n     <g id=\"line2d_6\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"312.635795\" xlink:href=\"#m85d0c7a1cc\" y=\"239.758125\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_6\">\r\n      <!-- On Balance Volume -->\r\n      <defs>\r\n       <path id=\"DejaVuSans-32\"/>\r\n       <path d=\"M 19.671875 34.8125 \r\nL 19.671875 8.109375 \r\nL 35.5 8.109375 \r\nQ 43.453125 8.109375 47.28125 11.40625 \r\nQ 51.125 14.703125 51.125 21.484375 \r\nQ 51.125 28.328125 47.28125 31.5625 \r\nQ 43.453125 34.8125 35.5 34.8125 \r\nz\r\nM 19.671875 64.796875 \r\nL 19.671875 42.828125 \r\nL 34.28125 42.828125 \r\nQ 41.5 42.828125 45.03125 45.53125 \r\nQ 48.578125 48.25 48.578125 53.8125 \r\nQ 48.578125 59.328125 45.03125 62.0625 \r\nQ 41.5 64.796875 34.28125 64.796875 \r\nz\r\nM 9.8125 72.90625 \r\nL 35.015625 72.90625 \r\nQ 46.296875 72.90625 52.390625 68.21875 \r\nQ 58.5 63.53125 58.5 54.890625 \r\nQ 58.5 48.1875 55.375 44.234375 \r\nQ 52.25 40.28125 46.1875 39.3125 \r\nQ 53.46875 37.75 57.5 32.78125 \r\nQ 61.53125 27.828125 61.53125 20.40625 \r\nQ 61.53125 10.640625 54.890625 5.3125 \r\nQ 48.25 0 35.984375 0 \r\nL 9.8125 0 \r\nz\r\n\" id=\"DejaVuSans-66\"/>\r\n       <path d=\"M 9.421875 75.984375 \r\nL 18.40625 75.984375 \r\nL 18.40625 0 \r\nL 9.421875 0 \r\nz\r\n\" id=\"DejaVuSans-108\"/>\r\n       <path d=\"M 28.609375 0 \r\nL 0.78125 72.90625 \r\nL 11.078125 72.90625 \r\nL 34.1875 11.53125 \r\nL 57.328125 72.90625 \r\nL 67.578125 72.90625 \r\nL 39.796875 0 \r\nz\r\n\" id=\"DejaVuSans-86\"/>\r\n       <path d=\"M 30.609375 48.390625 \r\nQ 23.390625 48.390625 19.1875 42.75 \r\nQ 14.984375 37.109375 14.984375 27.296875 \r\nQ 14.984375 17.484375 19.15625 11.84375 \r\nQ 23.34375 6.203125 30.609375 6.203125 \r\nQ 37.796875 6.203125 41.984375 11.859375 \r\nQ 46.1875 17.53125 46.1875 27.296875 \r\nQ 46.1875 37.015625 41.984375 42.703125 \r\nQ 37.796875 48.390625 30.609375 48.390625 \r\nz\r\nM 30.609375 56 \r\nQ 42.328125 56 49.015625 48.375 \r\nQ 55.71875 40.765625 55.71875 27.296875 \r\nQ 55.71875 13.875 49.015625 6.21875 \r\nQ 42.328125 -1.421875 30.609375 -1.421875 \r\nQ 18.84375 -1.421875 12.171875 6.21875 \r\nQ 5.515625 13.875 5.515625 27.296875 \r\nQ 5.515625 40.765625 12.171875 48.375 \r\nQ 18.84375 56 30.609375 56 \r\nz\r\n\" id=\"DejaVuSans-111\"/>\r\n       <path d=\"M 8.5 21.578125 \r\nL 8.5 54.6875 \r\nL 17.484375 54.6875 \r\nL 17.484375 21.921875 \r\nQ 17.484375 14.15625 20.5 10.265625 \r\nQ 23.53125 6.390625 29.59375 6.390625 \r\nQ 36.859375 6.390625 41.078125 11.03125 \r\nQ 45.3125 15.671875 45.3125 23.6875 \r\nL 45.3125 54.6875 \r\nL 54.296875 54.6875 \r\nL 54.296875 0 \r\nL 45.3125 0 \r\nL 45.3125 8.40625 \r\nQ 42.046875 3.421875 37.71875 1 \r\nQ 33.40625 -1.421875 27.6875 -1.421875 \r\nQ 18.265625 -1.421875 13.375 4.4375 \r\nQ 8.5 10.296875 8.5 21.578125 \r\nz\r\nM 31.109375 56 \r\nz\r\n\" id=\"DejaVuSans-117\"/>\r\n       <path d=\"M 52 44.1875 \r\nQ 55.375 50.25 60.0625 53.125 \r\nQ 64.75 56 71.09375 56 \r\nQ 79.640625 56 84.28125 50.015625 \r\nQ 88.921875 44.046875 88.921875 33.015625 \r\nL 88.921875 0 \r\nL 79.890625 0 \r\nL 79.890625 32.71875 \r\nQ 79.890625 40.578125 77.09375 44.375 \r\nQ 74.3125 48.1875 68.609375 48.1875 \r\nQ 61.625 48.1875 57.5625 43.546875 \r\nQ 53.515625 38.921875 53.515625 30.90625 \r\nL 53.515625 0 \r\nL 44.484375 0 \r\nL 44.484375 32.71875 \r\nQ 44.484375 40.625 41.703125 44.40625 \r\nQ 38.921875 48.1875 33.109375 48.1875 \r\nQ 26.21875 48.1875 22.15625 43.53125 \r\nQ 18.109375 38.875 18.109375 30.90625 \r\nL 18.109375 0 \r\nL 9.078125 0 \r\nL 9.078125 54.6875 \r\nL 18.109375 54.6875 \r\nL 18.109375 46.1875 \r\nQ 21.1875 51.21875 25.484375 53.609375 \r\nQ 29.78125 56 35.6875 56 \r\nQ 41.65625 56 45.828125 52.96875 \r\nQ 50 49.953125 52 44.1875 \r\nz\r\n\" id=\"DejaVuSans-109\"/>\r\n      </defs>\r\n      <g transform=\"translate(315.39517 345.165938)rotate(-90)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-79\"/>\r\n       <use x=\"78.710938\" xlink:href=\"#DejaVuSans-110\"/>\r\n       <use x=\"142.089844\" xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"173.876953\" xlink:href=\"#DejaVuSans-66\"/>\r\n       <use x=\"242.480469\" xlink:href=\"#DejaVuSans-97\"/>\r\n       <use x=\"303.759766\" xlink:href=\"#DejaVuSans-108\"/>\r\n       <use x=\"331.542969\" xlink:href=\"#DejaVuSans-97\"/>\r\n       <use x=\"392.822266\" xlink:href=\"#DejaVuSans-110\"/>\r\n       <use x=\"456.201172\" xlink:href=\"#DejaVuSans-99\"/>\r\n       <use x=\"511.181641\" xlink:href=\"#DejaVuSans-101\"/>\r\n       <use x=\"572.705078\" xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"604.492188\" xlink:href=\"#DejaVuSans-86\"/>\r\n       <use x=\"672.791016\" xlink:href=\"#DejaVuSans-111\"/>\r\n       <use x=\"733.972656\" xlink:href=\"#DejaVuSans-108\"/>\r\n       <use x=\"761.755859\" xlink:href=\"#DejaVuSans-117\"/>\r\n       <use x=\"825.134766\" xlink:href=\"#DejaVuSans-109\"/>\r\n       <use x=\"922.546875\" xlink:href=\"#DejaVuSans-101\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"text_7\">\r\n     <!-- Variable -->\r\n     <defs>\r\n      <path d=\"M 48.6875 27.296875 \r\nQ 48.6875 37.203125 44.609375 42.84375 \r\nQ 40.53125 48.484375 33.40625 48.484375 \r\nQ 26.265625 48.484375 22.1875 42.84375 \r\nQ 18.109375 37.203125 18.109375 27.296875 \r\nQ 18.109375 17.390625 22.1875 11.75 \r\nQ 26.265625 6.109375 33.40625 6.109375 \r\nQ 40.53125 6.109375 44.609375 11.75 \r\nQ 48.6875 17.390625 48.6875 27.296875 \r\nz\r\nM 18.109375 46.390625 \r\nQ 20.953125 51.265625 25.265625 53.625 \r\nQ 29.59375 56 35.59375 56 \r\nQ 45.5625 56 51.78125 48.09375 \r\nQ 58.015625 40.1875 58.015625 27.296875 \r\nQ 58.015625 14.40625 51.78125 6.484375 \r\nQ 45.5625 -1.421875 35.59375 -1.421875 \r\nQ 29.59375 -1.421875 25.265625 0.953125 \r\nQ 20.953125 3.328125 18.109375 8.203125 \r\nL 18.109375 0 \r\nL 9.078125 0 \r\nL 9.078125 75.984375 \r\nL 18.109375 75.984375 \r\nz\r\n\" id=\"DejaVuSans-98\"/>\r\n     </defs>\r\n     <g transform=\"translate(190.553906 370.751875)scale(0.1 -0.1)\">\r\n      <use xlink:href=\"#DejaVuSans-86\"/>\r\n      <use x=\"68.298828\" xlink:href=\"#DejaVuSans-97\"/>\r\n      <use x=\"129.578125\" xlink:href=\"#DejaVuSans-114\"/>\r\n      <use x=\"170.691406\" xlink:href=\"#DejaVuSans-105\"/>\r\n      <use x=\"198.474609\" xlink:href=\"#DejaVuSans-97\"/>\r\n      <use x=\"259.753906\" xlink:href=\"#DejaVuSans-98\"/>\r\n      <use x=\"323.230469\" xlink:href=\"#DejaVuSans-108\"/>\r\n      <use x=\"351.013672\" xlink:href=\"#DejaVuSans-101\"/>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_2\">\r\n    <g id=\"ytick_1\">\r\n     <g id=\"line2d_7\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL -3.5 0 \r\n\" id=\"mda1b16d464\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#mda1b16d464\" y=\"230.932168\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_8\">\r\n      <!-- 0.2 -->\r\n      <defs>\r\n       <path d=\"M 31.78125 66.40625 \r\nQ 24.171875 66.40625 20.328125 58.90625 \r\nQ 16.5 51.421875 16.5 36.375 \r\nQ 16.5 21.390625 20.328125 13.890625 \r\nQ 24.171875 6.390625 31.78125 6.390625 \r\nQ 39.453125 6.390625 43.28125 13.890625 \r\nQ 47.125 21.390625 47.125 36.375 \r\nQ 47.125 51.421875 43.28125 58.90625 \r\nQ 39.453125 66.40625 31.78125 66.40625 \r\nz\r\nM 31.78125 74.21875 \r\nQ 44.046875 74.21875 50.515625 64.515625 \r\nQ 56.984375 54.828125 56.984375 36.375 \r\nQ 56.984375 17.96875 50.515625 8.265625 \r\nQ 44.046875 -1.421875 31.78125 -1.421875 \r\nQ 19.53125 -1.421875 13.0625 8.265625 \r\nQ 6.59375 17.96875 6.59375 36.375 \r\nQ 6.59375 54.828125 13.0625 64.515625 \r\nQ 19.53125 74.21875 31.78125 74.21875 \r\nz\r\n\" id=\"DejaVuSans-48\"/>\r\n       <path d=\"M 10.6875 12.40625 \r\nL 21 12.40625 \r\nL 21 0 \r\nL 10.6875 0 \r\nz\r\n\" id=\"DejaVuSans-46\"/>\r\n       <path d=\"M 19.1875 8.296875 \r\nL 53.609375 8.296875 \r\nL 53.609375 0 \r\nL 7.328125 0 \r\nL 7.328125 8.296875 \r\nQ 12.9375 14.109375 22.625 23.890625 \r\nQ 32.328125 33.6875 34.8125 36.53125 \r\nQ 39.546875 41.84375 41.421875 45.53125 \r\nQ 43.3125 49.21875 43.3125 52.78125 \r\nQ 43.3125 58.59375 39.234375 62.25 \r\nQ 35.15625 65.921875 28.609375 65.921875 \r\nQ 23.96875 65.921875 18.8125 64.3125 \r\nQ 13.671875 62.703125 7.8125 59.421875 \r\nL 7.8125 69.390625 \r\nQ 13.765625 71.78125 18.9375 73 \r\nQ 24.125 74.21875 28.421875 74.21875 \r\nQ 39.75 74.21875 46.484375 68.546875 \r\nQ 53.21875 62.890625 53.21875 53.421875 \r\nQ 53.21875 48.921875 51.53125 44.890625 \r\nQ 49.859375 40.875 45.40625 35.40625 \r\nQ 44.1875 33.984375 37.640625 27.21875 \r\nQ 31.109375 20.453125 19.1875 8.296875 \r\nz\r\n\" id=\"DejaVuSans-50\"/>\r\n      </defs>\r\n      <g transform=\"translate(20.878125 234.731387)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-50\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_2\">\r\n     <g id=\"line2d_8\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#mda1b16d464\" y=\"206.090867\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_9\">\r\n      <!-- 0.3 -->\r\n      <defs>\r\n       <path d=\"M 40.578125 39.3125 \r\nQ 47.65625 37.796875 51.625 33 \r\nQ 55.609375 28.21875 55.609375 21.1875 \r\nQ 55.609375 10.40625 48.1875 4.484375 \r\nQ 40.765625 -1.421875 27.09375 -1.421875 \r\nQ 22.515625 -1.421875 17.65625 -0.515625 \r\nQ 12.796875 0.390625 7.625 2.203125 \r\nL 7.625 11.71875 \r\nQ 11.71875 9.328125 16.59375 8.109375 \r\nQ 21.484375 6.890625 26.8125 6.890625 \r\nQ 36.078125 6.890625 40.9375 10.546875 \r\nQ 45.796875 14.203125 45.796875 21.1875 \r\nQ 45.796875 27.640625 41.28125 31.265625 \r\nQ 36.765625 34.90625 28.71875 34.90625 \r\nL 20.21875 34.90625 \r\nL 20.21875 43.015625 \r\nL 29.109375 43.015625 \r\nQ 36.375 43.015625 40.234375 45.921875 \r\nQ 44.09375 48.828125 44.09375 54.296875 \r\nQ 44.09375 59.90625 40.109375 62.90625 \r\nQ 36.140625 65.921875 28.71875 65.921875 \r\nQ 24.65625 65.921875 20.015625 65.03125 \r\nQ 15.375 64.15625 9.8125 62.3125 \r\nL 9.8125 71.09375 \r\nQ 15.4375 72.65625 20.34375 73.4375 \r\nQ 25.25 74.21875 29.59375 74.21875 \r\nQ 40.828125 74.21875 47.359375 69.109375 \r\nQ 53.90625 64.015625 53.90625 55.328125 \r\nQ 53.90625 49.265625 50.4375 45.09375 \r\nQ 46.96875 40.921875 40.578125 39.3125 \r\nz\r\n\" id=\"DejaVuSans-51\"/>\r\n      </defs>\r\n      <g transform=\"translate(20.878125 209.890086)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-51\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_3\">\r\n     <g id=\"line2d_9\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#mda1b16d464\" y=\"181.249566\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_10\">\r\n      <!-- 0.4 -->\r\n      <defs>\r\n       <path d=\"M 37.796875 64.3125 \r\nL 12.890625 25.390625 \r\nL 37.796875 25.390625 \r\nz\r\nM 35.203125 72.90625 \r\nL 47.609375 72.90625 \r\nL 47.609375 25.390625 \r\nL 58.015625 25.390625 \r\nL 58.015625 17.1875 \r\nL 47.609375 17.1875 \r\nL 47.609375 0 \r\nL 37.796875 0 \r\nL 37.796875 17.1875 \r\nL 4.890625 17.1875 \r\nL 4.890625 26.703125 \r\nz\r\n\" id=\"DejaVuSans-52\"/>\r\n      </defs>\r\n      <g transform=\"translate(20.878125 185.048785)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-52\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_4\">\r\n     <g id=\"line2d_10\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#mda1b16d464\" y=\"156.408265\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_11\">\r\n      <!-- 0.5 -->\r\n      <defs>\r\n       <path d=\"M 10.796875 72.90625 \r\nL 49.515625 72.90625 \r\nL 49.515625 64.59375 \r\nL 19.828125 64.59375 \r\nL 19.828125 46.734375 \r\nQ 21.96875 47.46875 24.109375 47.828125 \r\nQ 26.265625 48.1875 28.421875 48.1875 \r\nQ 40.625 48.1875 47.75 41.5 \r\nQ 54.890625 34.8125 54.890625 23.390625 \r\nQ 54.890625 11.625 47.5625 5.09375 \r\nQ 40.234375 -1.421875 26.90625 -1.421875 \r\nQ 22.3125 -1.421875 17.546875 -0.640625 \r\nQ 12.796875 0.140625 7.71875 1.703125 \r\nL 7.71875 11.625 \r\nQ 12.109375 9.234375 16.796875 8.0625 \r\nQ 21.484375 6.890625 26.703125 6.890625 \r\nQ 35.15625 6.890625 40.078125 11.328125 \r\nQ 45.015625 15.765625 45.015625 23.390625 \r\nQ 45.015625 31 40.078125 35.4375 \r\nQ 35.15625 39.890625 26.703125 39.890625 \r\nQ 22.75 39.890625 18.8125 39.015625 \r\nQ 14.890625 38.140625 10.796875 36.28125 \r\nz\r\n\" id=\"DejaVuSans-53\"/>\r\n      </defs>\r\n      <g transform=\"translate(20.878125 160.207484)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-53\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_5\">\r\n     <g id=\"line2d_11\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#mda1b16d464\" y=\"131.566965\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_12\">\r\n      <!-- 0.6 -->\r\n      <defs>\r\n       <path d=\"M 33.015625 40.375 \r\nQ 26.375 40.375 22.484375 35.828125 \r\nQ 18.609375 31.296875 18.609375 23.390625 \r\nQ 18.609375 15.53125 22.484375 10.953125 \r\nQ 26.375 6.390625 33.015625 6.390625 \r\nQ 39.65625 6.390625 43.53125 10.953125 \r\nQ 47.40625 15.53125 47.40625 23.390625 \r\nQ 47.40625 31.296875 43.53125 35.828125 \r\nQ 39.65625 40.375 33.015625 40.375 \r\nz\r\nM 52.59375 71.296875 \r\nL 52.59375 62.3125 \r\nQ 48.875 64.0625 45.09375 64.984375 \r\nQ 41.3125 65.921875 37.59375 65.921875 \r\nQ 27.828125 65.921875 22.671875 59.328125 \r\nQ 17.53125 52.734375 16.796875 39.40625 \r\nQ 19.671875 43.65625 24.015625 45.921875 \r\nQ 28.375 48.1875 33.59375 48.1875 \r\nQ 44.578125 48.1875 50.953125 41.515625 \r\nQ 57.328125 34.859375 57.328125 23.390625 \r\nQ 57.328125 12.15625 50.6875 5.359375 \r\nQ 44.046875 -1.421875 33.015625 -1.421875 \r\nQ 20.359375 -1.421875 13.671875 8.265625 \r\nQ 6.984375 17.96875 6.984375 36.375 \r\nQ 6.984375 53.65625 15.1875 63.9375 \r\nQ 23.390625 74.21875 37.203125 74.21875 \r\nQ 40.921875 74.21875 44.703125 73.484375 \r\nQ 48.484375 72.75 52.59375 71.296875 \r\nz\r\n\" id=\"DejaVuSans-54\"/>\r\n      </defs>\r\n      <g transform=\"translate(20.878125 135.366183)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-54\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_6\">\r\n     <g id=\"line2d_12\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#mda1b16d464\" y=\"106.725664\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_13\">\r\n      <!-- 0.7 -->\r\n      <defs>\r\n       <path d=\"M 8.203125 72.90625 \r\nL 55.078125 72.90625 \r\nL 55.078125 68.703125 \r\nL 28.609375 0 \r\nL 18.3125 0 \r\nL 43.21875 64.59375 \r\nL 8.203125 64.59375 \r\nz\r\n\" id=\"DejaVuSans-55\"/>\r\n      </defs>\r\n      <g transform=\"translate(20.878125 110.524883)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-55\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_7\">\r\n     <g id=\"line2d_13\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#mda1b16d464\" y=\"81.884363\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_14\">\r\n      <!-- 0.8 -->\r\n      <defs>\r\n       <path d=\"M 31.78125 34.625 \r\nQ 24.75 34.625 20.71875 30.859375 \r\nQ 16.703125 27.09375 16.703125 20.515625 \r\nQ 16.703125 13.921875 20.71875 10.15625 \r\nQ 24.75 6.390625 31.78125 6.390625 \r\nQ 38.8125 6.390625 42.859375 10.171875 \r\nQ 46.921875 13.96875 46.921875 20.515625 \r\nQ 46.921875 27.09375 42.890625 30.859375 \r\nQ 38.875 34.625 31.78125 34.625 \r\nz\r\nM 21.921875 38.8125 \r\nQ 15.578125 40.375 12.03125 44.71875 \r\nQ 8.5 49.078125 8.5 55.328125 \r\nQ 8.5 64.0625 14.71875 69.140625 \r\nQ 20.953125 74.21875 31.78125 74.21875 \r\nQ 42.671875 74.21875 48.875 69.140625 \r\nQ 55.078125 64.0625 55.078125 55.328125 \r\nQ 55.078125 49.078125 51.53125 44.71875 \r\nQ 48 40.375 41.703125 38.8125 \r\nQ 48.828125 37.15625 52.796875 32.3125 \r\nQ 56.78125 27.484375 56.78125 20.515625 \r\nQ 56.78125 9.90625 50.3125 4.234375 \r\nQ 43.84375 -1.421875 31.78125 -1.421875 \r\nQ 19.734375 -1.421875 13.25 4.234375 \r\nQ 6.78125 9.90625 6.78125 20.515625 \r\nQ 6.78125 27.484375 10.78125 32.3125 \r\nQ 14.796875 37.15625 21.921875 38.8125 \r\nz\r\nM 18.3125 54.390625 \r\nQ 18.3125 48.734375 21.84375 45.5625 \r\nQ 25.390625 42.390625 31.78125 42.390625 \r\nQ 38.140625 42.390625 41.71875 45.5625 \r\nQ 45.3125 48.734375 45.3125 54.390625 \r\nQ 45.3125 60.0625 41.71875 63.234375 \r\nQ 38.140625 66.40625 31.78125 66.40625 \r\nQ 25.390625 66.40625 21.84375 63.234375 \r\nQ 18.3125 60.0625 18.3125 54.390625 \r\nz\r\n\" id=\"DejaVuSans-56\"/>\r\n      </defs>\r\n      <g transform=\"translate(20.878125 85.683582)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-56\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_8\">\r\n     <g id=\"line2d_14\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#mda1b16d464\" y=\"57.043062\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_15\">\r\n      <!-- 0.9 -->\r\n      <defs>\r\n       <path d=\"M 10.984375 1.515625 \r\nL 10.984375 10.5 \r\nQ 14.703125 8.734375 18.5 7.8125 \r\nQ 22.3125 6.890625 25.984375 6.890625 \r\nQ 35.75 6.890625 40.890625 13.453125 \r\nQ 46.046875 20.015625 46.78125 33.40625 \r\nQ 43.953125 29.203125 39.59375 26.953125 \r\nQ 35.25 24.703125 29.984375 24.703125 \r\nQ 19.046875 24.703125 12.671875 31.3125 \r\nQ 6.296875 37.9375 6.296875 49.421875 \r\nQ 6.296875 60.640625 12.9375 67.421875 \r\nQ 19.578125 74.21875 30.609375 74.21875 \r\nQ 43.265625 74.21875 49.921875 64.515625 \r\nQ 56.59375 54.828125 56.59375 36.375 \r\nQ 56.59375 19.140625 48.40625 8.859375 \r\nQ 40.234375 -1.421875 26.421875 -1.421875 \r\nQ 22.703125 -1.421875 18.890625 -0.6875 \r\nQ 15.09375 0.046875 10.984375 1.515625 \r\nz\r\nM 30.609375 32.421875 \r\nQ 37.25 32.421875 41.125 36.953125 \r\nQ 45.015625 41.5 45.015625 49.421875 \r\nQ 45.015625 57.28125 41.125 61.84375 \r\nQ 37.25 66.40625 30.609375 66.40625 \r\nQ 23.96875 66.40625 20.09375 61.84375 \r\nQ 16.21875 57.28125 16.21875 49.421875 \r\nQ 16.21875 41.5 20.09375 36.953125 \r\nQ 23.96875 32.421875 30.609375 32.421875 \r\nz\r\n\" id=\"DejaVuSans-57\"/>\r\n      </defs>\r\n      <g transform=\"translate(20.878125 60.842281)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-57\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_9\">\r\n     <g id=\"line2d_15\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#mda1b16d464\" y=\"32.201761\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_16\">\r\n      <!-- 1.0 -->\r\n      <defs>\r\n       <path d=\"M 12.40625 8.296875 \r\nL 28.515625 8.296875 \r\nL 28.515625 63.921875 \r\nL 10.984375 60.40625 \r\nL 10.984375 69.390625 \r\nL 28.421875 72.90625 \r\nL 38.28125 72.90625 \r\nL 38.28125 8.296875 \r\nL 54.390625 8.296875 \r\nL 54.390625 0 \r\nL 12.40625 0 \r\nz\r\n\" id=\"DejaVuSans-49\"/>\r\n      </defs>\r\n      <g transform=\"translate(20.878125 36.00098)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-49\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"text_17\">\r\n     <!-- Cumulative Importance -->\r\n     <defs>\r\n      <path d=\"M 2.984375 54.6875 \r\nL 12.5 54.6875 \r\nL 29.59375 8.796875 \r\nL 46.6875 54.6875 \r\nL 56.203125 54.6875 \r\nL 35.6875 0 \r\nL 23.484375 0 \r\nz\r\n\" id=\"DejaVuSans-118\"/>\r\n     </defs>\r\n     <g transform=\"translate(14.798438 189.817813)rotate(-90)scale(0.1 -0.1)\">\r\n      <use xlink:href=\"#DejaVuSans-67\"/>\r\n      <use x=\"69.824219\" xlink:href=\"#DejaVuSans-117\"/>\r\n      <use x=\"133.203125\" xlink:href=\"#DejaVuSans-109\"/>\r\n      <use x=\"230.615234\" xlink:href=\"#DejaVuSans-117\"/>\r\n      <use x=\"293.994141\" xlink:href=\"#DejaVuSans-108\"/>\r\n      <use x=\"321.777344\" xlink:href=\"#DejaVuSans-97\"/>\r\n      <use x=\"383.056641\" xlink:href=\"#DejaVuSans-116\"/>\r\n      <use x=\"422.265625\" xlink:href=\"#DejaVuSans-105\"/>\r\n      <use x=\"450.048828\" xlink:href=\"#DejaVuSans-118\"/>\r\n      <use x=\"509.228516\" xlink:href=\"#DejaVuSans-101\"/>\r\n      <use x=\"570.751953\" xlink:href=\"#DejaVuSans-32\"/>\r\n      <use x=\"602.539062\" xlink:href=\"#DejaVuSans-73\"/>\r\n      <use x=\"632.03125\" xlink:href=\"#DejaVuSans-109\"/>\r\n      <use x=\"729.443359\" xlink:href=\"#DejaVuSans-112\"/>\r\n      <use x=\"792.919922\" xlink:href=\"#DejaVuSans-111\"/>\r\n      <use x=\"854.101562\" xlink:href=\"#DejaVuSans-114\"/>\r\n      <use x=\"895.214844\" xlink:href=\"#DejaVuSans-116\"/>\r\n      <use x=\"934.423828\" xlink:href=\"#DejaVuSans-97\"/>\r\n      <use x=\"995.703125\" xlink:href=\"#DejaVuSans-110\"/>\r\n      <use x=\"1059.082031\" xlink:href=\"#DejaVuSans-99\"/>\r\n      <use x=\"1114.0625\" xlink:href=\"#DejaVuSans-101\"/>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"LineCollection_1\">\r\n    <path clip-path=\"url(#pb5fd2614f4)\" d=\"M 58.999432 44.622412 \r\nL 363.363068 44.622412 \r\n\" style=\"fill:none;stroke:#ff0000;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\r\n   </g>\r\n   <g id=\"line2d_16\">\r\n    <path clip-path=\"url(#pb5fd2614f4)\" d=\"M 58.999432 229.874489 \r\nL 109.726705 181.718468 \r\nL 160.453977 138.644714 \r\nL 211.18125 98.567457 \r\nL 261.908523 60.874479 \r\nL 312.635795 32.201761 \r\n\" style=\"fill:none;stroke:#008000;stroke-linecap:square;stroke-width:1.5;\"/>\r\n   </g>\r\n   <g id=\"patch_3\">\r\n    <path d=\"M 43.78125 239.758125 \r\nL 43.78125 22.318125 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_4\">\r\n    <path d=\"M 378.58125 239.758125 \r\nL 378.58125 22.318125 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_5\">\r\n    <path d=\"M 43.78125 239.758125 \r\nL 378.58125 239.758125 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_6\">\r\n    <path d=\"M 43.78125 22.318125 \r\nL 378.58125 22.318125 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"text_18\">\r\n    <!-- Random Forest: Feature Importance Graph -->\r\n    <defs>\r\n     <path d=\"M 45.40625 46.390625 \r\nL 45.40625 75.984375 \r\nL 54.390625 75.984375 \r\nL 54.390625 0 \r\nL 45.40625 0 \r\nL 45.40625 8.203125 \r\nQ 42.578125 3.328125 38.25 0.953125 \r\nQ 33.9375 -1.421875 27.875 -1.421875 \r\nQ 17.96875 -1.421875 11.734375 6.484375 \r\nQ 5.515625 14.40625 5.515625 27.296875 \r\nQ 5.515625 40.1875 11.734375 48.09375 \r\nQ 17.96875 56 27.875 56 \r\nQ 33.9375 56 38.25 53.625 \r\nQ 42.578125 51.265625 45.40625 46.390625 \r\nz\r\nM 14.796875 27.296875 \r\nQ 14.796875 17.390625 18.875 11.75 \r\nQ 22.953125 6.109375 30.078125 6.109375 \r\nQ 37.203125 6.109375 41.296875 11.75 \r\nQ 45.40625 17.390625 45.40625 27.296875 \r\nQ 45.40625 37.203125 41.296875 42.84375 \r\nQ 37.203125 48.484375 30.078125 48.484375 \r\nQ 22.953125 48.484375 18.875 42.84375 \r\nQ 14.796875 37.203125 14.796875 27.296875 \r\nz\r\n\" id=\"DejaVuSans-100\"/>\r\n     <path d=\"M 9.8125 72.90625 \r\nL 51.703125 72.90625 \r\nL 51.703125 64.59375 \r\nL 19.671875 64.59375 \r\nL 19.671875 43.109375 \r\nL 48.578125 43.109375 \r\nL 48.578125 34.8125 \r\nL 19.671875 34.8125 \r\nL 19.671875 0 \r\nL 9.8125 0 \r\nz\r\n\" id=\"DejaVuSans-70\"/>\r\n     <path d=\"M 44.28125 53.078125 \r\nL 44.28125 44.578125 \r\nQ 40.484375 46.53125 36.375 47.5 \r\nQ 32.28125 48.484375 27.875 48.484375 \r\nQ 21.1875 48.484375 17.84375 46.4375 \r\nQ 14.5 44.390625 14.5 40.28125 \r\nQ 14.5 37.15625 16.890625 35.375 \r\nQ 19.28125 33.59375 26.515625 31.984375 \r\nL 29.59375 31.296875 \r\nQ 39.15625 29.25 43.1875 25.515625 \r\nQ 47.21875 21.78125 47.21875 15.09375 \r\nQ 47.21875 7.46875 41.1875 3.015625 \r\nQ 35.15625 -1.421875 24.609375 -1.421875 \r\nQ 20.21875 -1.421875 15.453125 -0.5625 \r\nQ 10.6875 0.296875 5.421875 2 \r\nL 5.421875 11.28125 \r\nQ 10.40625 8.6875 15.234375 7.390625 \r\nQ 20.0625 6.109375 24.8125 6.109375 \r\nQ 31.15625 6.109375 34.5625 8.28125 \r\nQ 37.984375 10.453125 37.984375 14.40625 \r\nQ 37.984375 18.0625 35.515625 20.015625 \r\nQ 33.0625 21.96875 24.703125 23.78125 \r\nL 21.578125 24.515625 \r\nQ 13.234375 26.265625 9.515625 29.90625 \r\nQ 5.8125 33.546875 5.8125 39.890625 \r\nQ 5.8125 47.609375 11.28125 51.796875 \r\nQ 16.75 56 26.8125 56 \r\nQ 31.78125 56 36.171875 55.265625 \r\nQ 40.578125 54.546875 44.28125 53.078125 \r\nz\r\n\" id=\"DejaVuSans-115\"/>\r\n     <path d=\"M 11.71875 12.40625 \r\nL 22.015625 12.40625 \r\nL 22.015625 0 \r\nL 11.71875 0 \r\nz\r\nM 11.71875 51.703125 \r\nL 22.015625 51.703125 \r\nL 22.015625 39.3125 \r\nL 11.71875 39.3125 \r\nz\r\n\" id=\"DejaVuSans-58\"/>\r\n     <path d=\"M 59.515625 10.40625 \r\nL 59.515625 29.984375 \r\nL 43.40625 29.984375 \r\nL 43.40625 38.09375 \r\nL 69.28125 38.09375 \r\nL 69.28125 6.78125 \r\nQ 63.578125 2.734375 56.6875 0.65625 \r\nQ 49.8125 -1.421875 42 -1.421875 \r\nQ 24.90625 -1.421875 15.25 8.5625 \r\nQ 5.609375 18.5625 5.609375 36.375 \r\nQ 5.609375 54.25 15.25 64.234375 \r\nQ 24.90625 74.21875 42 74.21875 \r\nQ 49.125 74.21875 55.546875 72.453125 \r\nQ 61.96875 70.703125 67.390625 67.28125 \r\nL 67.390625 56.78125 \r\nQ 61.921875 61.421875 55.765625 63.765625 \r\nQ 49.609375 66.109375 42.828125 66.109375 \r\nQ 29.4375 66.109375 22.71875 58.640625 \r\nQ 16.015625 51.171875 16.015625 36.375 \r\nQ 16.015625 21.625 22.71875 14.15625 \r\nQ 29.4375 6.6875 42.828125 6.6875 \r\nQ 48.046875 6.6875 52.140625 7.59375 \r\nQ 56.25 8.5 59.515625 10.40625 \r\nz\r\n\" id=\"DejaVuSans-71\"/>\r\n    </defs>\r\n    <g transform=\"translate(81.893438 16.318125)scale(0.12 -0.12)\">\r\n     <use xlink:href=\"#DejaVuSans-82\"/>\r\n     <use x=\"69.451172\" xlink:href=\"#DejaVuSans-97\"/>\r\n     <use x=\"130.730469\" xlink:href=\"#DejaVuSans-110\"/>\r\n     <use x=\"194.109375\" xlink:href=\"#DejaVuSans-100\"/>\r\n     <use x=\"257.585938\" xlink:href=\"#DejaVuSans-111\"/>\r\n     <use x=\"318.767578\" xlink:href=\"#DejaVuSans-109\"/>\r\n     <use x=\"416.179688\" xlink:href=\"#DejaVuSans-32\"/>\r\n     <use x=\"447.966797\" xlink:href=\"#DejaVuSans-70\"/>\r\n     <use x=\"505.439453\" xlink:href=\"#DejaVuSans-111\"/>\r\n     <use x=\"566.621094\" xlink:href=\"#DejaVuSans-114\"/>\r\n     <use x=\"607.703125\" xlink:href=\"#DejaVuSans-101\"/>\r\n     <use x=\"669.226562\" xlink:href=\"#DejaVuSans-115\"/>\r\n     <use x=\"721.326172\" xlink:href=\"#DejaVuSans-116\"/>\r\n     <use x=\"760.535156\" xlink:href=\"#DejaVuSans-58\"/>\r\n     <use x=\"794.226562\" xlink:href=\"#DejaVuSans-32\"/>\r\n     <use x=\"826.013672\" xlink:href=\"#DejaVuSans-70\"/>\r\n     <use x=\"883.455078\" xlink:href=\"#DejaVuSans-101\"/>\r\n     <use x=\"944.978516\" xlink:href=\"#DejaVuSans-97\"/>\r\n     <use x=\"1006.257812\" xlink:href=\"#DejaVuSans-116\"/>\r\n     <use x=\"1045.466797\" xlink:href=\"#DejaVuSans-117\"/>\r\n     <use x=\"1108.845703\" xlink:href=\"#DejaVuSans-114\"/>\r\n     <use x=\"1149.927734\" xlink:href=\"#DejaVuSans-101\"/>\r\n     <use x=\"1211.451172\" xlink:href=\"#DejaVuSans-32\"/>\r\n     <use x=\"1243.238281\" xlink:href=\"#DejaVuSans-73\"/>\r\n     <use x=\"1272.730469\" xlink:href=\"#DejaVuSans-109\"/>\r\n     <use x=\"1370.142578\" xlink:href=\"#DejaVuSans-112\"/>\r\n     <use x=\"1433.619141\" xlink:href=\"#DejaVuSans-111\"/>\r\n     <use x=\"1494.800781\" xlink:href=\"#DejaVuSans-114\"/>\r\n     <use x=\"1535.914062\" xlink:href=\"#DejaVuSans-116\"/>\r\n     <use x=\"1575.123047\" xlink:href=\"#DejaVuSans-97\"/>\r\n     <use x=\"1636.402344\" xlink:href=\"#DejaVuSans-110\"/>\r\n     <use x=\"1699.78125\" xlink:href=\"#DejaVuSans-99\"/>\r\n     <use x=\"1754.761719\" xlink:href=\"#DejaVuSans-101\"/>\r\n     <use x=\"1816.285156\" xlink:href=\"#DejaVuSans-32\"/>\r\n     <use x=\"1848.072266\" xlink:href=\"#DejaVuSans-71\"/>\r\n     <use x=\"1925.5625\" xlink:href=\"#DejaVuSans-114\"/>\r\n     <use x=\"1966.675781\" xlink:href=\"#DejaVuSans-97\"/>\r\n     <use x=\"2027.955078\" xlink:href=\"#DejaVuSans-112\"/>\r\n     <use x=\"2091.431641\" xlink:href=\"#DejaVuSans-104\"/>\r\n    </g>\r\n   </g>\r\n  </g>\r\n </g>\r\n <defs>\r\n  <clipPath id=\"pb5fd2614f4\">\r\n   <rect height=\"217.44\" width=\"334.8\" x=\"43.78125\" y=\"22.318125\"/>\r\n  </clipPath>\r\n </defs>\r\n</svg>\r\n",
      "text/plain": "<Figure size 432x288 with 1 Axes>"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# store the values in a list to plot.\n",
    "x_values = list(range(len(rand_frst_clf.feature_importances_)))\n",
    "\n",
    "# Cumulative importances\n",
    "cumulative_importances = np.cumsum(feature_imp.values)\n",
    "\n",
    "# Make a line graph\n",
    "plt.plot(x_values, cumulative_importances, 'g-')\n",
    "\n",
    "# Draw line at 95% of importance retained\n",
    "plt.hlines(y = 0.95, xmin = 0, xmax = len(feature_imp), color = 'r', linestyles = 'dashed')\n",
    "\n",
    "# Format x ticks and labels\n",
    "plt.xticks(x_values, feature_imp.index, rotation = 'vertical')\n",
    "\n",
    "# Axis labels and title\n",
    "plt.xlabel('Variable')\n",
    "plt.ylabel('Cumulative Importance')\n",
    "plt.title('Random Forest: Feature Importance Graph')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Model Evaluation: ROC Curve\n",
    "The Receiver Operating Characteristic is a graphical method to evaluate the performance of a binary classifier. A curve is drawn by plotting True Positive Rate (sensitivity) against False Positive Rate (1 - specificity) at various threshold values. ROC curve shows the trade-off between sensitivity and specificity. When the curve comes closer to the left-hand border and the top border of the ROC space, it indicates that the test is accurate. The closer the curve is to the top and left-hand border, the more accurate the test is. If the curve is close to the 45 degrees diagonal of the ROC space, it means that the test is not accurate. ROC curves can be used to select the optimal model and discard the suboptimal ones."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEGCAYAAABo25JHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3deXxU1fn48c+ThSwQEiBhSwwJyJ6QCFEEFaGuqAguLVpKba1SrUtbtV+3/mrr137r2lrUllqraFWw4AIq7iCgqBAkQti3QAIBskL2Zeb5/TFDGkISJpDJJJnn/XrNi9xl7n3OhNxnzrnnniOqijHGGP8V4OsAjDHG+JYlAmOM8XOWCIwxxs9ZIjDGGD9nicAYY/xckK8DaKno6GhNSEjwdRjGGNOhrF27Nl9VYxrb1uESQUJCAunp6b4OwxhjOhQR2dPUNmsaMsYYP2eJwBhj/JwlAmOM8XOWCIwxxs9ZIjDGGD/ntUQgIi+KyCERyWxiu4jIbBHZISLrRWS0t2IxxhjTNG/WCOYClzazfTIw2P2aBfzdi7EYY4xpgteeI1DVFSKS0MwuU4FX1DUO9tciEiUi/VQ111sxGWNMW3I6ldwjlWQXlpNdWE5VrfOUjjeif3dGx/dopej+y5cPlMUC2fWWc9zrjksEIjILV62B+Pj4NgnOGGM8UV3r5OtdBezKKyW7qII9BeWUVNa4tjmc1Dr+O+eLyKmd65rRcZ0uETT2kTQ6S46qPg88D5CWlmYz6RhjvO6rnQUsXJuDw9n8t/iCsmqKy2sIDBBio8IY3KcbPcKDEYTgQCGuRzjxvcI5rUc4YV0C2yj6lvFlIsgBTqu3HAfs91Esxhg/V1njoLSqlj0F5XyXXcyijH30iwyjf1RYs+/rFxXGhcP7kBIXSVBgx+yI6ctEsBi4XUTmA2OBw3Z/wBjTVmocTvJLqzh4pIqDRyp5dumOum0BAUJaQk/uuXhou/0W35q8lghEZB4wEYgWkRzgISAYQFXnAEuAy4AdQDnwU2/FYozxXxXVDnKKyskuKmdPQTnZhRXsLSznUEklDadsHzOgB1NT+zO8X3dCgzt/AjjKm72Grj/BdgVu89b5jTH+paLaQXZROXsLytlb6HrlFJVz8EhV3T5Bga52/CF9ujFpWAx9IkLp3T2EPt1D6dW1S4dt2jlVHW4YamOMUVX2FVewJquQ77IPs7ewnLySYy/4cT3CGdo3gotG9OG0nuHE9wynX2QYgQGn2HWnE7JEYIzpEGocTjbuP0J6ViGrdxeSe7gSgPie4Yzs353TeoS7Lvi9wunbPdQu+C1gicAY0244nUp+WRW5xZXkHq5gf4N/axxKUKCQEhfF1NRYzkzoQe/uob4Ou8OzRGCMaTNOp7J+32E+2niAXXmlx2xzOKGwrIqaeg9gBQUK/SJD6RcZxhnxUSTFRpISF+UXPXnakiUCY4zXFZVV88nmg3y88SAHj1QSERrEqLgo6t+bFYSeXXvRPyqUvpFh9I8KJbprCAHWxON1lgiMMa1OVTl4pIoN+w6zJquQb3YX4nQqSbGRzBw3gHEDe9ElyD976LRHlgiMMU1SVSprnJRU1lBSVUtJZS2llbWUVtU0OoCaw6lk5ZexYd9h8kurAYgKD2ZqSn8uSepL7Ame0jW+YYnAGHOcRRn7WLg2h5LKWhzOlg3vFRUeTFJsJEn9I0mOjeS0nmHIqY62ZrzKEoEx5hgFpVW8vCqLgTHduHB4JN1CgugeFky3kCAiQl2vbiFBhAQHNjpyZHiXQLvwdzCWCIwxHDhcyQeZuZS5B11zKNxz8VD6RlrXTH9gicAYP7a/uIL/pGezbMshAgKEiNBgAK4dHWtJwI9YIjDGD+0rruCNNdks33qIwABhSkp/rh4dR8+uXXwdmvEBSwTG+Ikah5Nv9xSxbGseX+3MJygwgCkp/blmdBw9LAH4NUsExnRiTqeyKfcIy7fl8cX2fEqraokIDWJqaixXj44lKtwSgLFEYEyntKegjM+35rFiWx6HSqoICQpg7MCeTBzamzNOi/Lb4ZZN4ywRGNMJOJzKlgNHWLO7kDVZRewtLCdA4Iz4Hvxo3ADOTuxl4/OYJlkiMKaDqqp18M2uQtKzXBf/0qpaAgKEpP7dmZw8kHNPj7amH+MRSwTGdEBZ+WU89uEWcooqiAgN4syEHpyV2Isz4qPoGmJ/1qZl7H+MMR1IZY2DjzYe4OVVWXQNCeL/XTGCtAE9bIROc0osERjTAeQeruD99bl8sukg5dUOzoiP4q6LhljTj2kVlgiMaaecTmVddjHvrd/P2j1FiAjnDOrFlJT+DOsbYeP5mFZjicCYdqa8upZPNx/i/fX72V9cSVR4MNPPPI1LR/alV7cQX4dnOiFLBMa0Mw+/u4mN+48wpE8Ed10czzmDom0SF+NVlgiM8SFVJb+0mh2HStmRV8rOQ6VsPVjC+EG9uP+y4b4Oz/gJSwTG+MiijH0sSM/hcEUNAAECcT3DmTA4hstH9fNxdMafWCIwxgf+k57Nv7/aQ8ppkZw9sBeDYrqRGN2V0GB7+te0PUsExrShfcUVfLAhl0UZ+zl/SAy/vmgIgfYMgPExSwTGeFlZVS3vr8/lix357M4vA+DC4X2443un24Ngpl2wRGCMl6gqK7fn88+Vuygur2FY3whuOi+RcYN60TvCZv8y7YclAmO8IPdwBX//fCfr9hYzuHc3HpoygtN7R/g6LGMaZYnAmFbgdCr7iivYnV/G1gMlfJCZS1BAALMmDOTy5H7WBGTaNa8mAhG5FPgrEAi8oKqPNtgeCbwKxLtjeVJVX/JmTMacqopqB1kFZezOd7125pWyp6Cc6lonAIEBwrhBvfjZuYlE25PApgPwWiIQkUDgOeAiIAdYIyKLVXVTvd1uAzap6hQRiQG2ishrqlrtrbiMOVmbc4/wj+U72ZVfhqprXbeQIBJjujI5qS+J0V1JjO7KaT3DCbYZwEwH4s0awVnADlXdBSAi84GpQP1EoECEuEbP6gYUArVejMmYFquscfDq13tY/N1+YrqFcP1Z8QyM7kpiTFdiuoXY4G+mw/NmIogFsust5wBjG+zzLLAY2A9EANNV1dnwQCIyC5gFEB8f75VgjWnI6VTWZBXyry92k3u4ksuS+/GT8Qk25aPpdLyZCBr7mqQNli8BMoDvAYOAT0RkpaoeOeZNqs8DzwOkpaU1PIYxLeZwKhnZRWw9UEpJZQ2lVbWUVNZypLKG0krXz2XVtahCv8hQ/nhVEqPionwdtjFe4c1EkAOcVm85Dtc3//p+CjyqqgrsEJHdwDBgtRfjMn5sb0E5n205yNIthygud43x0zUkkG4hwXQPDSIiNIh+kaFEhAbTLSSI03qGc86gXgRZm7/pxLyZCNYAg0UkEdgHXAf8sME+e4ELgJUi0gcYCuzyYkzGD1XVOlixLZ8PNuSy/VApAQFC2oAeXDCsN2kJPW2IZ+P3vJYIVLVWRG4HPsLVffRFVd0oIre4t88B/heYKyIbcDUl3auq+d6KyfiXQyWVLFmfy8ebDlJSWUt8z3BuOi+R84fE2BSPxtTj1ecIVHUJsKTBujn1ft4PXOzNGIx/UVU27DvMe+tz+WZXAQBnD+zF5aP6kRwbaT18jGmEPVlsOrxah5Psogo27T/Cksxc9haUExEaxNWj45ic3NfG9THmBCwRmA6lpLKGrPxyduWX1j3Zu7ewnFqHqzPZwJiu3HnBYCYMiSYkyLp5GuMJSwSmXauudfLlznxW7chnV14Zh0qq6rZFhQeTGN2VK1P6kxjdlUEx3YjrEWbNP8a0kCUC0y7tLSjno40HWLrlEKVVtfSOCGFo3wgmJ/cjMborA6O70qOr3fA1pjVYIjDtyhfb81n83T4255YQGCCMH9SLS0b2JTk20kbwNMZLLBGYdqOi2sFjH26hT/cQbjw3ge8N7UNkeLCvwzKm07NEYNoNh3tIzykp/ZmaGuvjaIzxH/ZIpWkXVJWlWw4B0MWGczCmTVmNwPhcaVUtzyzdzqodBYwZ0IPzh8b4OiRj/IpHiUBEugDxqrrDy/EYP7P9YAmPfbiFvNJqfnpOAtNSY+2msDFt7IR1cBG5HNgAfOJeThWRt70dmOncVJVFGfv4zcL1OBUevTqZq0fHWRIwxgc8qRE8jGtCmWUAqpohIqd7NSrTqZVU1vD0p9tZvbuQsxJ78qsLBxMRar2DjPEVTxJBjaoWN3ha0yaHMS1WVevgw8wDLFybQ0llLTedl8iVKf3tSWBjfMyTRLBZRH4ABLjnFvgl8LV3wzKdSWWNg482uhJAcXkNSbGR/OzcBE7vHeHr0IwxeJYIbgd+BziBt3DNL3C/N4MynUNljYMPMnN569t9FJfXMCouknsvjScpNtLXoRlj6vEkEVyiqvcC9x5dISJX40oKxjTqs80HeenLLA5X1JByWiT3TY5nZH9LAMa0R54kgt9y/EX/wUbWGQPAd9nFzP5sO0P7RvDg5cMZ3q+7r0MyxjSjyUQgIpcAlwKxIvLnepu642omMuY4RWXVPPnxVvpHhfGHK5MI62JzAhjT3jVXIzgEZAKVwMZ660uA+7wZlOmYnE7l8Y+2Ul7t4I/Tki0JGNNBNJkIVHUdsE5EXlPVyjaMyXRQr63eS+a+w/zqwsHE9wr3dTjGGA95co8gVkT+CIwA6iZ/VdUhXovKdDib9h9hQXo2Fw7vwwXD+/g6HGNMC3gyzONc4CVAgMnAf4D5XozJdDBOp/LPlbvo2bULPz9/oK/DMca0kCeJIFxVPwJQ1Z2q+ltgknfDMh3JZ1sOseNQKTeMTyA02O4LGNPReNI0VCWuMQB2isgtwD6gt3fDMh1FeXUtr3yVxdC+EUwcYsNHG9MReVIj+DXQDbgTOAe4GbjRm0GZjuOlL7MoLq9h1oSBNmaQMR3UCWsEqvqN+8cSYCaAiMR5MyjTMXyYeYAPMw9w9ehYhvSxcYOM6aiarRGIyJkiMk1Eot3LI0XkFWzQOb+3PqeYOct3Mjo+ihvGJfg6HGPMKWjuyeI/AdcA3wG/dU9G80vgMeCWtgnPtBfl1bV8l32Yb/cWsW5vMQePVNI3MpR7Lhlqk8kY08E11zQ0FUhR1QoR6Qnsdy9vbZvQjC85ncrOvFK+3VvEt3uK2XLgCE6FsOBAkuMimXZGf849PdomlDGmE2guEVSqagWAqhaKyBZLAp2b06ks357Hmt2FrNtbTGlVLQCn9+7GtWPiOCO+B0P7RhAc6EkfA2NMR9FcIhgoIkdHGBUgod4yqnr1iQ4uIpcCfwUCgRdU9dFG9pkIPA0EA/mqer7n4ZvWUlxezV8+2ca3e4vp0bULZyX2ZPSAHqTGRREZbt/6jenMmksE1zRYfrYlBxaRQOA54CIgB1gjIotVdVO9faKAvwGXqupeEbHnE9pYeXUty7fmMW9NNqWVNfxi4iAuTeprXUGN8SPNDTr32Ske+yxgh6ruAhCR+bjuO2yqt88PgbdUda/7nIdO8ZzGA6rKtoOlfJh5gJXb86iqdTIwpiu/nzKCgTHdfB2eMaaNefJk8cmKBbLrLecAYxvsMwQIFpHPgQjgr6r6SsMDicgsYBZAfHy8V4L1B6rKJ5sO8u76XLLyywgNDmDCkBguTerL4N7drBZgjJ/yZiJo7KqijZx/DHABEAZ8JSJfq+q2Y96k+jzwPEBaWlrDYxgPrd1TxDNLdzAwpiu3TRrEhCExhHfx5n8BY0xH4PFVQERCVLWqBcfOAU6rtxyHqwtqw33yVbUMKBORFUAKsA3TqlSV17/ZS5/uITz1/RSCrOePMcbthFcDETlLRDYA293LKSLyjAfHXgMMFpFEEekCXAcsbrDPIuA8EQkSkXBcTUebW1QC45Edh0rZfqiUa8fEWRIwxhzDkxrBbOAK4B0AVf1ORE44DLWq1orI7cBHuLqPvqiqG90jmKKqc1R1s4h8CKzHNQ/yC6qaeZJlMc2oqHEAENfDZg4zxhzLk0QQoKp7GtxIdHhycFVdAixpsG5Og+UngCc8OZ45eTUOu7VijGmcJ4kgW0TOAtT9bMAdWBt+h7CvuII1uwv5Znchm/YfBrAJ5Y0xx/EkEdyKq3koHjgIfOpeZ9ohVWXB2hw+23yQ/cWVAMT3Cufq0XGcPbAXg+w5AWNMA54kglpVvc7rkZhW8fnWPP791R6SYiOZktKfMxN60qd7qK/DMsa0Y54kgjUishV4A9dTwCVejsmcpPzSKv6xYicj+nXnj9OSbHhoY4xHTtiPUFUHAY/gevBrg4i8IyJWQ2hnVJVnl+6gxqH88sLBlgSMMR7zqEO5qq5S1TuB0cAR4DWvRmVa7NPNh1i7p4gbxifQPyrM1+EYYzoQTx4o6yYiM0TkXWA1kAeM93pkxmO78kr558pdJMV254rkfr4OxxjTwXhyjyATeBd4XFVXejke0wIOp/LSl7tZ/N1+unYJ4pcXDLEmIWNMi3mSCAaqqtPrkZgWKams4fEPt5KRXcxlyf2YcXY83W3aSGPMSWhu8vqnVPVu4E0ROe6xVE9mKDMnp7rWWTckRGMKSqt47MMtHDxSxZ0XDOaiEX3aMDpjTGfTXI3gDfe/LZqZzJyavQXlPPD2Bg5X1DS7X2RYMH+8KomR/SPbKDJjTGfV3Axlq90/DlfVY5KBezC5U53BzDSQV1LF7xZnEhAg3DxhIE019wvC2IE9ie4W0rYBGmM6JU/uEdzI8bWCnzWyzpyCksoafr94I+XVDh69OtmmjDTGtJnm7hFMxzWHQKKIvFVvUwRQ7O3A/El1rZM/vr+Z/Ycr+MOVIy0JGGPaVHM1gtVAAa6ZxZ6rt74EWOfNoPyJ06k89fFWNu4/wm8uGcqouChfh2SM8TPN3SPYDezGNdqo8ZJ31+9n1c4CbjovkQlDYnwdjjHGDzXXNLRcVc8XkSKOnXReAFXVnl6Pzg/kHq6kW0gQU1NjfR2KMcZPNdc0dHQ6yui2CMQYY4xvNDnWUL2niU8DAlXVAYwDfg50bYPYjDHGtAFPRh99B9c0lYOAV4DhwOtejcqP7C+uoHuYJ714jTHGOzxJBE5VrQGuBp5W1TsAa9BuBUcqa/guu5jxg6z1zRjjO54kgloR+T4wE3jPvc5GN2sFX+0swKlw7mBLBMYY3/EkEdyI68bx46q6S0QSgXneDavzKyyr5q1vc+gXGcrAaLvlYozxHU+mqswE7gTSRWQYkK2qf/R6ZJ1YQWkV97+1nsKyau68YDAiNoeAMcZ3TniXUkTOA/4N7MP1DEFfEZmpql96O7jOqKLawW/fyaSorIbfXznSRg81xvicJ91V/gJcpqqbAERkOK7EkObNwDqruauy2FdcwSPTbAhpY0z74Mk9gi5HkwCAqm4GungvpM4rI7uYJRtyuTKlv40pZIxpNzypEXwrIv/AVQsAmIENOtdieSVVPPPZdvpHhTJz3ABfh2OMMXU8SQS34LpZ/D+47hGsAJ7xZlCdyaGSShak5/Dp5oMI8MerkgkJCvR1WMYYU6fZRCAiycAg4G1VfbxtQuocDh2pZMHaHD7ZdBCAi0b04ftj4ujdPdTHkRljzLGaG330AVwzkX0LnCkiD6vqi20WWQfldCrPr9zFB5kHCBC4ZGRfrh0TR0yETStpjGmfmqsRzABGqWqZiMQAS4AWJQIRuRT4KxAIvKCqjzax35nA18B0VV3YknO0Ny9/lcX763O5NKkv0888zeYVNsa0e80lgipVLQNQ1TwR8aSHUR0RCcQ1s9lFQA6wRkQW1++BVG+/x4CPWhR5O7RiWx5vfbuPy5L7cevEQb4OxxhjPNJcIhhYb65iAQbVn7tYVa8+wbHPAnao6i4AEZkPTAU2NdjvDuBN4MyWBN7e7Cuu4K+fbWdk/+7cdF6ir8MxxhiPNZcIrmmw/GwLjx0LZNdbzgHG1t9BRGKBq4Dv0UwiEJFZwCyA+Pj4FobRNlZsy6PG4eSeS4YSHNiiypMxxvhUc3MWf3aKx25sAB1tsPw0cK+qOpobb0dVnweeB0hLS2t4jHZh7Z4iBveOsHsCxpgOx5szouTgmt3sqDhgf4N90oD57iQQDVwmIrWq+o4X42p1hytq2HawhOvObJ+1FWOMaY43E8EaYLB72Op9wHXAD+vvoKp1jekiMhd4r6MlAYDVuwtRhTMTevg6FGOMaTGPE4GIhKhqlaf7q2qtiNyOqzdQIPCiqm4UkVvc2+e0ONp26HBFDa98lUVidFcGxXTzdTjGGNNingxDfRbwLyASiBeRFOAm95SVzVLVJbieP6i/rtEEoKo/8STg9mRXXilPf7qdkspa/nDlSAICbF4BY0zH40mNYDZwBa5J7FHV70RkklejaudqHE4WpOfwRno23UODeOCy4Qy02oAxpoPyJBEEqOqeBr16HF6Kp91zOpX73tzAtoMlTBoaw00TBtI91KZwNsZ0XJ4kgmx385C6nwK+A9jm3bDar60HS9h2sISbJwzkypT+vg7HGGNOmSdPPt0K3AXEAweBs93r/FJ6ViEBApOGxvg6FGOMaRUnrBGo6iFcXT8NrgfHhvXtToQ1BxljOglPeg39k+OfCEZVZ3klonasuLyanXllzDzbZhgzxnQentwj+LTez6G4xgbKbmLfTu1IRS0A/aPCfByJMca0Hk+aht6ovywi/wY+8VpE7dTWAyW89s0eAIIC7XkBY0zncTJDTCQCftM2klNUzj9X7OLbvcVEhAYxc9wA0gbYUBLGmM7Dk3sERfz3HkEAUAjc582g2pNFGfv5LucwN4xP4PLkfoR1sYnnjTGdy4kmrxcgBdegcQBOVW2Xw0B7i6rSPSyYa8fE+ToUY4zximafI3Bf9N9WVYf75VdJwBhj/IEnD5StFpHRXo/EGGOMTzTZNCQiQapaC5wL3CwiO4EyXDOPqapacjDGmE6guXsEq4HRwLQ2iqVdyS+tYu2eIjbnlvg6FGOM8armEoEAqOrONoql3dice4SHFm2kosZBVHgwF4/o4+uQjDHGa5pLBDEicldTG1X1z16Ix+cOHankocUbiQoP5rHLRpHQK5wGQ3AbY0yn0lwiCAS64a4Z+AOnU/nrZ9tB4X+nJdGne6ivQzLGGK9rLhHkqurDbRZJO/DhxgOszznMbZNOtyRgjPEbzXUf9ZuaALhuDr/05W7OiI/ikpF2T8AY4z+aSwQXtFkU7cCGnMNU1jj54dh4uydgjPErTSYCVS1sy0B8LX1PIRGhQZxuk9AbY/yMJ08Wd3pVtQ5W7y5k/KBeBAXaR2KM8S921cM1/WRljZNzB9s8xMYY/+P3icDpVD7MPECAwPB+Eb4Oxxhj2pzfJ4JXv9nDur3FzDh7ACFBNteAMcb/+HUiqKp1sGRDLuNP78UP0k7zdTjGGOMTfp0IvtieT1mVgyuS+/s6FGOM8Rm/TQT5pVXMW72X2KgwkmK7+zocY4zxGb9NBI99sIUjFbX86qLB9gCZMcaveTURiMilIrJVRHaIyHET3ovIDBFZ736tEpEUb8ZT38GSKs4bHM2wvlYbMMb4N68lAhEJBJ4DJgMjgOtFZESD3XYD56vqKOB/gee9FU/jMbbl2Ywxpn3yZo3gLGCHqu5S1WpgPjC1/g6qukpVi9yLXwNxXozHGGNMI7yZCGKB7HrLOe51TfkZ8EFjG0Rkloiki0h6Xl5eK4ZojDHGm4mgsYYXbXRHkUm4EsG9jW1X1edVNU1V02JibBgIY4xpTc1NTHOqcoD6T2nFAfsb7iQio4AXgMmqWuDFeIwxxjTCmzWCNcBgEUkUkS7AdcDi+juISDzwFjBTVbd5MRZjjDFN8FqNQFVrReR24CNc8x+/qKobReQW9/Y5wO+AXsDf3H35a1U1zVsxGWOMOZ43m4ZQ1SXAkgbr5tT7+SbgJm/GYIwxpnl++2SxMcYYF0sExhjj5/w2Eag22pPVGGP8jl8mggXp2RSX19Cne6ivQzHGGJ/zu0RQXevk1a/3MDaxJ9eMthEtjDHG7xKBUxWnwvB+3QkIsFHnjDHG7xJBXkkVAEGBlgSMMQb8LBE4ncqzS3cQ3iWQc06P9nU4xhjTLvhVIsguKmdT7hFmnD2A6G4hvg7HGGPaBb9KBA6nq8tojCUBY4yp41eJwBhjzPEsERhjjJ/zq0RwtGnIGGPMf/lVIvh08yECA4RBvbv6OhRjjGk3/CYR5JdW8fGmA1w0og+9I2xoCWOMOcpvEsGW3BJqHcolI/v4OhRjjGlX/CYRHNUlMNDXIRhjTLvid4nAGGPMsSwRGGOMn7NEYIwxfs4SgTHG+LkgXwdgOq+amhpycnKorKz0dSjG+I3Q0FDi4uIIDg72+D2WCIzX5OTkEBERQUJCAiI2/4Mx3qaqFBQUkJOTQ2Jiosfvs6Yh4zWVlZX06tXLkoAxbURE6NWrV4tr4ZYIjFdZEjCmbZ3M35wlAmOM8XOWCEynFRgYSGpqKklJSUyZMoXi4uJWOW5WVhZJSUmtcqyf/OQnJCYmkpqaSmpqKrNnz26V4zbm888/Z9WqVcese+WVV0hKSmLkyJGMGDGCJ598si6uhQsXtsp59+/fz7XXXlu3fP311zNq1Cj+8pe/8Lvf/Y5PP/30lI7/zjvv8PDDDx+zLiUlheuvv/6YdRMnTiQ9Pb1uueHvcfXq1UyYMIGhQ4cybNgwbrrpJsrLy08ptt27dzN27FgGDx7M9OnTqa6uPm6fZcuW1f3+U1NTCQ0N5Z133gFcbf4PPvggQ4YMYfjw4XX/P9577z0eeuihU4rtGKraoV5jxozRk7FyW55eMXul7skvO6n3m5bbtGmTT8/ftWvXup9//OMf6yOPPNIqx929e7eOHDmyVY51ww036IIFC07qvbW1tS3a/6GHHtInnniibnnJkiV6xhln6L59+1RVtaKiQp9//vlTjqs5ubm5Gh8ff9Lvr6mpOW7duHHjNC8vr25506ZNmpSUpP3799fS0tK69eeff76uWbOmbrn+7/HAgQMaHx+vq1atUlVVp9OpCxYs0AMHDpx0rKqq3//+93XevHmqqvrzn/9c//a3vzW7f0FBgfbo0UPLylzXqRdffFFnzpypDodDVVUPHjxYF19qamrdfg019rcHpGsT11XrNWTaxCENJB4AABHESURBVD9X7GJXfmmrHnNgdDdunjDQo33HjRvH+vXrASgtLWXq1KkUFRVRU1PDI488wtSpU8nKymLy5Mmce+65rFq1itjYWBYtWkRYWBhr167lxhtvJDw8nHPPPbfuuJWVldx6662kp6cTFBTEn//8ZyZNmsTcuXN55513cDgcZGZmcvfdd1NdXc2///1vQkJCWLJkCT179mwy3nnz5vF///d/qCqXX345jz32GADdunXjrrvu4qOPPuKpp54iLCyMu+66i9LSUqKjo5k7dy79+vVj9uzZzJkzh6CgIEaMGMGjjz7KnDlzCAwM5NVXX+WZZ57hT3/6E08++ST9+/cHXN0Ob7755uNiefjhh3n33XepqKhg/Pjx/OMf/0BEjjvH/PnzWb58Ob/85S8BV1v1ihUrKCgo4IorriAzM5OLL76YQ4cOkZqayjPPPMO//vUvrrjiCq699lrWrl3baFkmTpzI+PHj+fLLL7nyyiu5++6762Lbtm0bISEhREdH1617/fXXmTlzJps3b2bx4sXH1Qwa89xzz3HDDTcwbty4utjr12JOhqqydOlSXn/9dQBuuOEGfv/733Prrbc2+Z6FCxcyefJkwsPDAfj73//O66+/TkCAq/Gmd+/edfFNnDiR9957jx/84AenFCdY05DxAw6Hg88++4wrr7wScF3w3n77bb799luWLVvG3XffjesLE2zfvp3bbruNjRs3EhUVxZtvvgnAT3/6U2bPns1XX311zLGfe+45ADZs2MC8efO44YYb6npsZGZm8vrrr7N69WoefPBBwsPDWbduHePGjeOVV16pO8ZvfvObumaBDRs2sH//fu69916WLl1KRkYGa9asqWsqKCsrIykpiW++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\n",
      "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n<svg height=\"262.19625pt\" version=\"1.1\" viewBox=\"0 0 385.78125 262.19625\" width=\"385.78125pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <defs>\r\n  <style type=\"text/css\">\r\n*{stroke-linecap:butt;stroke-linejoin:round;}\r\n  </style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n  <g id=\"patch_1\">\r\n   <path d=\"M 0 262.19625 \r\nL 385.78125 262.19625 \r\nL 385.78125 0 \r\nL 0 0 \r\nz\r\n\" style=\"fill:none;\"/>\r\n  </g>\r\n  <g id=\"axes_1\">\r\n   <g id=\"patch_2\">\r\n    <path d=\"M 43.78125 224.64 \r\nL 378.58125 224.64 \r\nL 378.58125 7.2 \r\nL 43.78125 7.2 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_1\">\r\n    <g id=\"xtick_1\">\r\n     <g id=\"line2d_1\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL 0 3.5 \r\n\" id=\"m9cce5537b4\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"58.999432\" xlink:href=\"#m9cce5537b4\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_1\">\r\n      <!-- 0.0 -->\r\n      <defs>\r\n       <path d=\"M 31.78125 66.40625 \r\nQ 24.171875 66.40625 20.328125 58.90625 \r\nQ 16.5 51.421875 16.5 36.375 \r\nQ 16.5 21.390625 20.328125 13.890625 \r\nQ 24.171875 6.390625 31.78125 6.390625 \r\nQ 39.453125 6.390625 43.28125 13.890625 \r\nQ 47.125 21.390625 47.125 36.375 \r\nQ 47.125 51.421875 43.28125 58.90625 \r\nQ 39.453125 66.40625 31.78125 66.40625 \r\nz\r\nM 31.78125 74.21875 \r\nQ 44.046875 74.21875 50.515625 64.515625 \r\nQ 56.984375 54.828125 56.984375 36.375 \r\nQ 56.984375 17.96875 50.515625 8.265625 \r\nQ 44.046875 -1.421875 31.78125 -1.421875 \r\nQ 19.53125 -1.421875 13.0625 8.265625 \r\nQ 6.59375 17.96875 6.59375 36.375 \r\nQ 6.59375 54.828125 13.0625 64.515625 \r\nQ 19.53125 74.21875 31.78125 74.21875 \r\nz\r\n\" id=\"DejaVuSans-48\"/>\r\n       <path d=\"M 10.6875 12.40625 \r\nL 21 12.40625 \r\nL 21 0 \r\nL 10.6875 0 \r\nz\r\n\" id=\"DejaVuSans-46\"/>\r\n      </defs>\r\n      <g transform=\"translate(51.047869 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_2\">\r\n     <g id=\"line2d_2\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"119.872159\" xlink:href=\"#m9cce5537b4\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_2\">\r\n      <!-- 0.2 -->\r\n      <defs>\r\n       <path d=\"M 19.1875 8.296875 \r\nL 53.609375 8.296875 \r\nL 53.609375 0 \r\nL 7.328125 0 \r\nL 7.328125 8.296875 \r\nQ 12.9375 14.109375 22.625 23.890625 \r\nQ 32.328125 33.6875 34.8125 36.53125 \r\nQ 39.546875 41.84375 41.421875 45.53125 \r\nQ 43.3125 49.21875 43.3125 52.78125 \r\nQ 43.3125 58.59375 39.234375 62.25 \r\nQ 35.15625 65.921875 28.609375 65.921875 \r\nQ 23.96875 65.921875 18.8125 64.3125 \r\nQ 13.671875 62.703125 7.8125 59.421875 \r\nL 7.8125 69.390625 \r\nQ 13.765625 71.78125 18.9375 73 \r\nQ 24.125 74.21875 28.421875 74.21875 \r\nQ 39.75 74.21875 46.484375 68.546875 \r\nQ 53.21875 62.890625 53.21875 53.421875 \r\nQ 53.21875 48.921875 51.53125 44.890625 \r\nQ 49.859375 40.875 45.40625 35.40625 \r\nQ 44.1875 33.984375 37.640625 27.21875 \r\nQ 31.109375 20.453125 19.1875 8.296875 \r\nz\r\n\" id=\"DejaVuSans-50\"/>\r\n      </defs>\r\n      <g transform=\"translate(111.920597 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-50\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_3\">\r\n     <g id=\"line2d_3\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"180.744886\" xlink:href=\"#m9cce5537b4\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_3\">\r\n      <!-- 0.4 -->\r\n      <defs>\r\n       <path d=\"M 37.796875 64.3125 \r\nL 12.890625 25.390625 \r\nL 37.796875 25.390625 \r\nz\r\nM 35.203125 72.90625 \r\nL 47.609375 72.90625 \r\nL 47.609375 25.390625 \r\nL 58.015625 25.390625 \r\nL 58.015625 17.1875 \r\nL 47.609375 17.1875 \r\nL 47.609375 0 \r\nL 37.796875 0 \r\nL 37.796875 17.1875 \r\nL 4.890625 17.1875 \r\nL 4.890625 26.703125 \r\nz\r\n\" id=\"DejaVuSans-52\"/>\r\n      </defs>\r\n      <g transform=\"translate(172.793324 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-52\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_4\">\r\n     <g id=\"line2d_4\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"241.617614\" xlink:href=\"#m9cce5537b4\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_4\">\r\n      <!-- 0.6 -->\r\n      <defs>\r\n       <path d=\"M 33.015625 40.375 \r\nQ 26.375 40.375 22.484375 35.828125 \r\nQ 18.609375 31.296875 18.609375 23.390625 \r\nQ 18.609375 15.53125 22.484375 10.953125 \r\nQ 26.375 6.390625 33.015625 6.390625 \r\nQ 39.65625 6.390625 43.53125 10.953125 \r\nQ 47.40625 15.53125 47.40625 23.390625 \r\nQ 47.40625 31.296875 43.53125 35.828125 \r\nQ 39.65625 40.375 33.015625 40.375 \r\nz\r\nM 52.59375 71.296875 \r\nL 52.59375 62.3125 \r\nQ 48.875 64.0625 45.09375 64.984375 \r\nQ 41.3125 65.921875 37.59375 65.921875 \r\nQ 27.828125 65.921875 22.671875 59.328125 \r\nQ 17.53125 52.734375 16.796875 39.40625 \r\nQ 19.671875 43.65625 24.015625 45.921875 \r\nQ 28.375 48.1875 33.59375 48.1875 \r\nQ 44.578125 48.1875 50.953125 41.515625 \r\nQ 57.328125 34.859375 57.328125 23.390625 \r\nQ 57.328125 12.15625 50.6875 5.359375 \r\nQ 44.046875 -1.421875 33.015625 -1.421875 \r\nQ 20.359375 -1.421875 13.671875 8.265625 \r\nQ 6.984375 17.96875 6.984375 36.375 \r\nQ 6.984375 53.65625 15.1875 63.9375 \r\nQ 23.390625 74.21875 37.203125 74.21875 \r\nQ 40.921875 74.21875 44.703125 73.484375 \r\nQ 48.484375 72.75 52.59375 71.296875 \r\nz\r\n\" id=\"DejaVuSans-54\"/>\r\n      </defs>\r\n      <g transform=\"translate(233.666051 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-54\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_5\">\r\n     <g id=\"line2d_5\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"302.490341\" xlink:href=\"#m9cce5537b4\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_5\">\r\n      <!-- 0.8 -->\r\n      <defs>\r\n       <path d=\"M 31.78125 34.625 \r\nQ 24.75 34.625 20.71875 30.859375 \r\nQ 16.703125 27.09375 16.703125 20.515625 \r\nQ 16.703125 13.921875 20.71875 10.15625 \r\nQ 24.75 6.390625 31.78125 6.390625 \r\nQ 38.8125 6.390625 42.859375 10.171875 \r\nQ 46.921875 13.96875 46.921875 20.515625 \r\nQ 46.921875 27.09375 42.890625 30.859375 \r\nQ 38.875 34.625 31.78125 34.625 \r\nz\r\nM 21.921875 38.8125 \r\nQ 15.578125 40.375 12.03125 44.71875 \r\nQ 8.5 49.078125 8.5 55.328125 \r\nQ 8.5 64.0625 14.71875 69.140625 \r\nQ 20.953125 74.21875 31.78125 74.21875 \r\nQ 42.671875 74.21875 48.875 69.140625 \r\nQ 55.078125 64.0625 55.078125 55.328125 \r\nQ 55.078125 49.078125 51.53125 44.71875 \r\nQ 48 40.375 41.703125 38.8125 \r\nQ 48.828125 37.15625 52.796875 32.3125 \r\nQ 56.78125 27.484375 56.78125 20.515625 \r\nQ 56.78125 9.90625 50.3125 4.234375 \r\nQ 43.84375 -1.421875 31.78125 -1.421875 \r\nQ 19.734375 -1.421875 13.25 4.234375 \r\nQ 6.78125 9.90625 6.78125 20.515625 \r\nQ 6.78125 27.484375 10.78125 32.3125 \r\nQ 14.796875 37.15625 21.921875 38.8125 \r\nz\r\nM 18.3125 54.390625 \r\nQ 18.3125 48.734375 21.84375 45.5625 \r\nQ 25.390625 42.390625 31.78125 42.390625 \r\nQ 38.140625 42.390625 41.71875 45.5625 \r\nQ 45.3125 48.734375 45.3125 54.390625 \r\nQ 45.3125 60.0625 41.71875 63.234375 \r\nQ 38.140625 66.40625 31.78125 66.40625 \r\nQ 25.390625 66.40625 21.84375 63.234375 \r\nQ 18.3125 60.0625 18.3125 54.390625 \r\nz\r\n\" id=\"DejaVuSans-56\"/>\r\n      </defs>\r\n      <g transform=\"translate(294.538778 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-56\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_6\">\r\n     <g id=\"line2d_6\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"363.363068\" xlink:href=\"#m9cce5537b4\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_6\">\r\n      <!-- 1.0 -->\r\n      <defs>\r\n       <path d=\"M 12.40625 8.296875 \r\nL 28.515625 8.296875 \r\nL 28.515625 63.921875 \r\nL 10.984375 60.40625 \r\nL 10.984375 69.390625 \r\nL 28.421875 72.90625 \r\nL 38.28125 72.90625 \r\nL 38.28125 8.296875 \r\nL 54.390625 8.296875 \r\nL 54.390625 0 \r\nL 12.40625 0 \r\nz\r\n\" id=\"DejaVuSans-49\"/>\r\n      </defs>\r\n      <g transform=\"translate(355.411506 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-49\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"text_7\">\r\n     <!-- False Positive Rate -->\r\n     <defs>\r\n      <path d=\"M 9.8125 72.90625 \r\nL 51.703125 72.90625 \r\nL 51.703125 64.59375 \r\nL 19.671875 64.59375 \r\nL 19.671875 43.109375 \r\nL 48.578125 43.109375 \r\nL 48.578125 34.8125 \r\nL 19.671875 34.8125 \r\nL 19.671875 0 \r\nL 9.8125 0 \r\nz\r\n\" id=\"DejaVuSans-70\"/>\r\n      <path d=\"M 34.28125 27.484375 \r\nQ 23.390625 27.484375 19.1875 25 \r\nQ 14.984375 22.515625 14.984375 16.5 \r\nQ 14.984375 11.71875 18.140625 8.90625 \r\nQ 21.296875 6.109375 26.703125 6.109375 \r\nQ 34.1875 6.109375 38.703125 11.40625 \r\nQ 43.21875 16.703125 43.21875 25.484375 \r\nL 43.21875 27.484375 \r\nz\r\nM 52.203125 31.203125 \r\nL 52.203125 0 \r\nL 43.21875 0 \r\nL 43.21875 8.296875 \r\nQ 40.140625 3.328125 35.546875 0.953125 \r\nQ 30.953125 -1.421875 24.3125 -1.421875 \r\nQ 15.921875 -1.421875 10.953125 3.296875 \r\nQ 6 8.015625 6 15.921875 \r\nQ 6 25.140625 12.171875 29.828125 \r\nQ 18.359375 34.515625 30.609375 34.515625 \r\nL 43.21875 34.515625 \r\nL 43.21875 35.40625 \r\nQ 43.21875 41.609375 39.140625 45 \r\nQ 35.0625 48.390625 27.6875 48.390625 \r\nQ 23 48.390625 18.546875 47.265625 \r\nQ 14.109375 46.140625 10.015625 43.890625 \r\nL 10.015625 52.203125 \r\nQ 14.9375 54.109375 19.578125 55.046875 \r\nQ 24.21875 56 28.609375 56 \r\nQ 40.484375 56 46.34375 49.84375 \r\nQ 52.203125 43.703125 52.203125 31.203125 \r\nz\r\n\" id=\"DejaVuSans-97\"/>\r\n      <path d=\"M 9.421875 75.984375 \r\nL 18.40625 75.984375 \r\nL 18.40625 0 \r\nL 9.421875 0 \r\nz\r\n\" id=\"DejaVuSans-108\"/>\r\n      <path d=\"M 44.28125 53.078125 \r\nL 44.28125 44.578125 \r\nQ 40.484375 46.53125 36.375 47.5 \r\nQ 32.28125 48.484375 27.875 48.484375 \r\nQ 21.1875 48.484375 17.84375 46.4375 \r\nQ 14.5 44.390625 14.5 40.28125 \r\nQ 14.5 37.15625 16.890625 35.375 \r\nQ 19.28125 33.59375 26.515625 31.984375 \r\nL 29.59375 31.296875 \r\nQ 39.15625 29.25 43.1875 25.515625 \r\nQ 47.21875 21.78125 47.21875 15.09375 \r\nQ 47.21875 7.46875 41.1875 3.015625 \r\nQ 35.15625 -1.421875 24.609375 -1.421875 \r\nQ 20.21875 -1.421875 15.453125 -0.5625 \r\nQ 10.6875 0.296875 5.421875 2 \r\nL 5.421875 11.28125 \r\nQ 10.40625 8.6875 15.234375 7.390625 \r\nQ 20.0625 6.109375 24.8125 6.109375 \r\nQ 31.15625 6.109375 34.5625 8.28125 \r\nQ 37.984375 10.453125 37.984375 14.40625 \r\nQ 37.984375 18.0625 35.515625 20.015625 \r\nQ 33.0625 21.96875 24.703125 23.78125 \r\nL 21.578125 24.515625 \r\nQ 13.234375 26.265625 9.515625 29.90625 \r\nQ 5.8125 33.546875 5.8125 39.890625 \r\nQ 5.8125 47.609375 11.28125 51.796875 \r\nQ 16.75 56 26.8125 56 \r\nQ 31.78125 56 36.171875 55.265625 \r\nQ 40.578125 54.546875 44.28125 53.078125 \r\nz\r\n\" id=\"DejaVuSans-115\"/>\r\n      <path d=\"M 56.203125 29.59375 \r\nL 56.203125 25.203125 \r\nL 14.890625 25.203125 \r\nQ 15.484375 15.921875 20.484375 11.0625 \r\nQ 25.484375 6.203125 34.421875 6.203125 \r\nQ 39.59375 6.203125 44.453125 7.46875 \r\nQ 49.3125 8.734375 54.109375 11.28125 \r\nL 54.109375 2.78125 \r\nQ 49.265625 0.734375 44.1875 -0.34375 \r\nQ 39.109375 -1.421875 33.890625 -1.421875 \r\nQ 20.796875 -1.421875 13.15625 6.1875 \r\nQ 5.515625 13.8125 5.515625 26.8125 \r\nQ 5.515625 40.234375 12.765625 48.109375 \r\nQ 20.015625 56 32.328125 56 \r\nQ 43.359375 56 49.78125 48.890625 \r\nQ 56.203125 41.796875 56.203125 29.59375 \r\nz\r\nM 47.21875 32.234375 \r\nQ 47.125 39.59375 43.09375 43.984375 \r\nQ 39.0625 48.390625 32.421875 48.390625 \r\nQ 24.90625 48.390625 20.390625 44.140625 \r\nQ 15.875 39.890625 15.1875 32.171875 \r\nz\r\n\" id=\"DejaVuSans-101\"/>\r\n      <path id=\"DejaVuSans-32\"/>\r\n      <path d=\"M 19.671875 64.796875 \r\nL 19.671875 37.40625 \r\nL 32.078125 37.40625 \r\nQ 38.96875 37.40625 42.71875 40.96875 \r\nQ 46.484375 44.53125 46.484375 51.125 \r\nQ 46.484375 57.671875 42.71875 61.234375 \r\nQ 38.96875 64.796875 32.078125 64.796875 \r\nz\r\nM 9.8125 72.90625 \r\nL 32.078125 72.90625 \r\nQ 44.34375 72.90625 50.609375 67.359375 \r\nQ 56.890625 61.8125 56.890625 51.125 \r\nQ 56.890625 40.328125 50.609375 34.8125 \r\nQ 44.34375 29.296875 32.078125 29.296875 \r\nL 19.671875 29.296875 \r\nL 19.671875 0 \r\nL 9.8125 0 \r\nz\r\n\" id=\"DejaVuSans-80\"/>\r\n      <path d=\"M 30.609375 48.390625 \r\nQ 23.390625 48.390625 19.1875 42.75 \r\nQ 14.984375 37.109375 14.984375 27.296875 \r\nQ 14.984375 17.484375 19.15625 11.84375 \r\nQ 23.34375 6.203125 30.609375 6.203125 \r\nQ 37.796875 6.203125 41.984375 11.859375 \r\nQ 46.1875 17.53125 46.1875 27.296875 \r\nQ 46.1875 37.015625 41.984375 42.703125 \r\nQ 37.796875 48.390625 30.609375 48.390625 \r\nz\r\nM 30.609375 56 \r\nQ 42.328125 56 49.015625 48.375 \r\nQ 55.71875 40.765625 55.71875 27.296875 \r\nQ 55.71875 13.875 49.015625 6.21875 \r\nQ 42.328125 -1.421875 30.609375 -1.421875 \r\nQ 18.84375 -1.421875 12.171875 6.21875 \r\nQ 5.515625 13.875 5.515625 27.296875 \r\nQ 5.515625 40.765625 12.171875 48.375 \r\nQ 18.84375 56 30.609375 56 \r\nz\r\n\" id=\"DejaVuSans-111\"/>\r\n      <path d=\"M 9.421875 54.6875 \r\nL 18.40625 54.6875 \r\nL 18.40625 0 \r\nL 9.421875 0 \r\nz\r\nM 9.421875 75.984375 \r\nL 18.40625 75.984375 \r\nL 18.40625 64.59375 \r\nL 9.421875 64.59375 \r\nz\r\n\" id=\"DejaVuSans-105\"/>\r\n      <path d=\"M 18.3125 70.21875 \r\nL 18.3125 54.6875 \r\nL 36.8125 54.6875 \r\nL 36.8125 47.703125 \r\nL 18.3125 47.703125 \r\nL 18.3125 18.015625 \r\nQ 18.3125 11.328125 20.140625 9.421875 \r\nQ 21.96875 7.515625 27.59375 7.515625 \r\nL 36.8125 7.515625 \r\nL 36.8125 0 \r\nL 27.59375 0 \r\nQ 17.1875 0 13.234375 3.875 \r\nQ 9.28125 7.765625 9.28125 18.015625 \r\nL 9.28125 47.703125 \r\nL 2.6875 47.703125 \r\nL 2.6875 54.6875 \r\nL 9.28125 54.6875 \r\nL 9.28125 70.21875 \r\nz\r\n\" id=\"DejaVuSans-116\"/>\r\n      <path d=\"M 2.984375 54.6875 \r\nL 12.5 54.6875 \r\nL 29.59375 8.796875 \r\nL 46.6875 54.6875 \r\nL 56.203125 54.6875 \r\nL 35.6875 0 \r\nL 23.484375 0 \r\nz\r\n\" id=\"DejaVuSans-118\"/>\r\n      <path d=\"M 44.390625 34.1875 \r\nQ 47.5625 33.109375 50.5625 29.59375 \r\nQ 53.5625 26.078125 56.59375 19.921875 \r\nL 66.609375 0 \r\nL 56 0 \r\nL 46.6875 18.703125 \r\nQ 43.0625 26.03125 39.671875 28.421875 \r\nQ 36.28125 30.8125 30.421875 30.8125 \r\nL 19.671875 30.8125 \r\nL 19.671875 0 \r\nL 9.8125 0 \r\nL 9.8125 72.90625 \r\nL 32.078125 72.90625 \r\nQ 44.578125 72.90625 50.734375 67.671875 \r\nQ 56.890625 62.453125 56.890625 51.90625 \r\nQ 56.890625 45.015625 53.6875 40.46875 \r\nQ 50.484375 35.9375 44.390625 34.1875 \r\nz\r\nM 19.671875 64.796875 \r\nL 19.671875 38.921875 \r\nL 32.078125 38.921875 \r\nQ 39.203125 38.921875 42.84375 42.21875 \r\nQ 46.484375 45.515625 46.484375 51.90625 \r\nQ 46.484375 58.296875 42.84375 61.546875 \r\nQ 39.203125 64.796875 32.078125 64.796875 \r\nz\r\n\" id=\"DejaVuSans-82\"/>\r\n     </defs>\r\n     <g transform=\"translate(163.975781 252.916562)scale(0.1 -0.1)\">\r\n      <use xlink:href=\"#DejaVuSans-70\"/>\r\n      <use x=\"57.378906\" xlink:href=\"#DejaVuSans-97\"/>\r\n      <use x=\"118.658203\" xlink:href=\"#DejaVuSans-108\"/>\r\n      <use x=\"146.441406\" xlink:href=\"#DejaVuSans-115\"/>\r\n      <use x=\"198.541016\" xlink:href=\"#DejaVuSans-101\"/>\r\n      <use x=\"260.064453\" xlink:href=\"#DejaVuSans-32\"/>\r\n      <use x=\"291.851562\" xlink:href=\"#DejaVuSans-80\"/>\r\n      <use x=\"352.107422\" xlink:href=\"#DejaVuSans-111\"/>\r\n      <use x=\"413.289062\" xlink:href=\"#DejaVuSans-115\"/>\r\n      <use x=\"465.388672\" xlink:href=\"#DejaVuSans-105\"/>\r\n      <use x=\"493.171875\" xlink:href=\"#DejaVuSans-116\"/>\r\n      <use x=\"532.380859\" xlink:href=\"#DejaVuSans-105\"/>\r\n      <use x=\"560.164062\" xlink:href=\"#DejaVuSans-118\"/>\r\n      <use x=\"619.34375\" xlink:href=\"#DejaVuSans-101\"/>\r\n      <use x=\"680.867188\" xlink:href=\"#DejaVuSans-32\"/>\r\n      <use x=\"712.654297\" xlink:href=\"#DejaVuSans-82\"/>\r\n      <use x=\"782.105469\" xlink:href=\"#DejaVuSans-97\"/>\r\n      <use x=\"843.384766\" xlink:href=\"#DejaVuSans-116\"/>\r\n      <use x=\"882.59375\" xlink:href=\"#DejaVuSans-101\"/>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_2\">\r\n    <g id=\"ytick_1\">\r\n     <g id=\"line2d_7\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL -3.5 0 \r\n\" id=\"m2d36555ca4\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#m2d36555ca4\" y=\"214.756364\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_8\">\r\n      <!-- 0.0 -->\r\n      <g transform=\"translate(20.878125 218.555582)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_2\">\r\n     <g id=\"line2d_8\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#m2d36555ca4\" y=\"175.221818\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_9\">\r\n      <!-- 0.2 -->\r\n      <g transform=\"translate(20.878125 179.021037)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-50\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_3\">\r\n     <g id=\"line2d_9\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#m2d36555ca4\" y=\"135.687273\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_10\">\r\n      <!-- 0.4 -->\r\n      <g transform=\"translate(20.878125 139.486491)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-52\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_4\">\r\n     <g id=\"line2d_10\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#m2d36555ca4\" y=\"96.152727\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_11\">\r\n      <!-- 0.6 -->\r\n      <g transform=\"translate(20.878125 99.951946)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-54\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_5\">\r\n     <g id=\"line2d_11\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#m2d36555ca4\" y=\"56.618182\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_12\">\r\n      <!-- 0.8 -->\r\n      <g transform=\"translate(20.878125 60.417401)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-56\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_6\">\r\n     <g id=\"line2d_12\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#m2d36555ca4\" y=\"17.083636\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_13\">\r\n      <!-- 1.0 -->\r\n      <g transform=\"translate(20.878125 20.882855)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-49\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"text_14\">\r\n     <!-- True Positive Rate -->\r\n     <defs>\r\n      <path d=\"M -0.296875 72.90625 \r\nL 61.375 72.90625 \r\nL 61.375 64.59375 \r\nL 35.5 64.59375 \r\nL 35.5 0 \r\nL 25.59375 0 \r\nL 25.59375 64.59375 \r\nL -0.296875 64.59375 \r\nz\r\n\" id=\"DejaVuSans-84\"/>\r\n      <path d=\"M 41.109375 46.296875 \r\nQ 39.59375 47.171875 37.8125 47.578125 \r\nQ 36.03125 48 33.890625 48 \r\nQ 26.265625 48 22.1875 43.046875 \r\nQ 18.109375 38.09375 18.109375 28.8125 \r\nL 18.109375 0 \r\nL 9.078125 0 \r\nL 9.078125 54.6875 \r\nL 18.109375 54.6875 \r\nL 18.109375 46.1875 \r\nQ 20.953125 51.171875 25.484375 53.578125 \r\nQ 30.03125 56 36.53125 56 \r\nQ 37.453125 56 38.578125 55.875 \r\nQ 39.703125 55.765625 41.0625 55.515625 \r\nz\r\n\" id=\"DejaVuSans-114\"/>\r\n      <path d=\"M 8.5 21.578125 \r\nL 8.5 54.6875 \r\nL 17.484375 54.6875 \r\nL 17.484375 21.921875 \r\nQ 17.484375 14.15625 20.5 10.265625 \r\nQ 23.53125 6.390625 29.59375 6.390625 \r\nQ 36.859375 6.390625 41.078125 11.03125 \r\nQ 45.3125 15.671875 45.3125 23.6875 \r\nL 45.3125 54.6875 \r\nL 54.296875 54.6875 \r\nL 54.296875 0 \r\nL 45.3125 0 \r\nL 45.3125 8.40625 \r\nQ 42.046875 3.421875 37.71875 1 \r\nQ 33.40625 -1.421875 27.6875 -1.421875 \r\nQ 18.265625 -1.421875 13.375 4.4375 \r\nQ 8.5 10.296875 8.5 21.578125 \r\nz\r\nM 31.109375 56 \r\nz\r\n\" id=\"DejaVuSans-117\"/>\r\n     </defs>\r\n     <g transform=\"translate(14.798438 161.466094)rotate(-90)scale(0.1 -0.1)\">\r\n      <use xlink:href=\"#DejaVuSans-84\"/>\r\n      <use x=\"60.865234\" xlink:href=\"#DejaVuSans-114\"/>\r\n      <use x=\"101.978516\" xlink:href=\"#DejaVuSans-117\"/>\r\n      <use x=\"165.357422\" xlink:href=\"#DejaVuSans-101\"/>\r\n      <use x=\"226.880859\" xlink:href=\"#DejaVuSans-32\"/>\r\n      <use x=\"258.667969\" xlink:href=\"#DejaVuSans-80\"/>\r\n      <use x=\"318.923828\" xlink:href=\"#DejaVuSans-111\"/>\r\n      <use x=\"380.105469\" xlink:href=\"#DejaVuSans-115\"/>\r\n      <use x=\"432.205078\" xlink:href=\"#DejaVuSans-105\"/>\r\n      <use x=\"459.988281\" xlink:href=\"#DejaVuSans-116\"/>\r\n      <use x=\"499.197266\" xlink:href=\"#DejaVuSans-105\"/>\r\n      <use x=\"526.980469\" xlink:href=\"#DejaVuSans-118\"/>\r\n      <use x=\"586.160156\" xlink:href=\"#DejaVuSans-101\"/>\r\n      <use x=\"647.683594\" xlink:href=\"#DejaVuSans-32\"/>\r\n      <use x=\"679.470703\" xlink:href=\"#DejaVuSans-82\"/>\r\n      <use x=\"748.921875\" xlink:href=\"#DejaVuSans-97\"/>\r\n      <use x=\"810.201172\" xlink:href=\"#DejaVuSans-116\"/>\r\n      <use x=\"849.410156\" xlink:href=\"#DejaVuSans-101\"/>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"line2d_13\">\r\n    <path clip-path=\"url(#p1de505f11d)\" d=\"M 58.999432 214.756364 \r\nL 58.999432 205.099937 \r\nL 58.999432 196.011536 \r\nL 60.143656 193.739436 \r\nL 60.143656 189.195235 \r\nL 61.28788 187.49116 \r\nL 61.28788 185.21906 \r\nL 62.432104 184.083009 \r\nL 62.432104 181.810909 \r\nL 62.432104 178.402759 \r\nL 62.432104 177.266708 \r\nL 62.432104 172.722508 \r\nL 62.432104 171.586458 \r\nL 63.576329 170.450408 \r\nL 64.720553 167.610282 \r\nL 65.864777 166.474232 \r\nL 65.864777 165.906207 \r\nL 67.009001 162.498056 \r\nL 67.009001 161.930031 \r\nL 69.29745 158.521881 \r\nL 70.441674 157.385831 \r\nL 72.730122 156.817806 \r\nL 72.730122 155.11373 \r\nL 72.730122 151.137555 \r\nL 76.162795 149.43348 \r\nL 76.162795 147.729404 \r\nL 77.307019 143.753229 \r\nL 80.739692 141.481129 \r\nL 81.883916 139.777053 \r\nL 83.02814 135.800878 \r\nL 85.316588 132.960752 \r\nL 91.037709 130.120627 \r\nL 93.326158 126.712476 \r\nL 95.614606 124.440376 \r\nL 96.75883 121.032226 \r\nL 96.75883 117.624075 \r\nL 101.335727 112.51185 \r\nL 109.345296 112.51185 \r\nL 112.777969 109.671724 \r\nL 113.922193 109.103699 \r\nL 117.354866 103.991473 \r\nL 123.075987 102.287398 \r\nL 123.075987 99.447273 \r\nL 124.220211 97.175172 \r\nL 129.941332 94.903072 \r\nL 132.22978 93.198997 \r\nL 142.527798 90.358871 \r\nL 144.816247 87.518746 \r\nL 147.104695 83.542571 \r\nL 150.537368 78.99837 \r\nL 157.402713 75.590219 \r\nL 159.691161 73.886144 \r\nL 164.268058 70.477994 \r\nL 164.268058 68.205893 \r\nL 169.989179 65.933793 \r\nL 179.142972 64.229718 \r\nL 187.152542 60.821567 \r\nL 191.729439 59.117492 \r\nL 199.739008 58.549467 \r\nL 200.883232 57.981442 \r\nL 204.315905 55.709342 \r\nL 213.469698 54.005266 \r\nL 218.046595 51.165141 \r\nL 221.479268 50.029091 \r\nL 223.767716 47.756991 \r\nL 229.488837 46.62094 \r\nL 229.488837 45.48489 \r\nL 237.498407 42.07674 \r\nL 239.786855 40.372665 \r\nL 245.507976 38.668589 \r\nL 253.517545 35.828464 \r\nL 259.238666 32.988339 \r\nL 261.527115 32.988339 \r\nL 262.671339 30.716238 \r\nL 270.680908 30.148213 \r\nL 276.402029 30.148213 \r\nL 280.978926 29.012163 \r\nL 286.700047 26.740063 \r\nL 291.276944 26.740063 \r\nL 299.286513 25.604013 \r\nL 305.007634 23.899937 \r\nL 318.738325 21.627837 \r\nL 323.315221 21.059812 \r\nL 323.315221 20.491787 \r\nL 324.459445 20.491787 \r\nL 326.747894 19.923762 \r\nL 327.892118 18.787712 \r\nL 334.757463 18.787712 \r\nL 337.045912 18.787712 \r\nL 338.190136 18.219687 \r\nL 341.622808 17.651661 \r\nL 343.911257 17.651661 \r\nL 347.343929 17.083636 \r\nL 348.488154 17.083636 \r\nL 353.06505 17.083636 \r\nL 358.786171 17.083636 \r\nL 363.363068 17.083636 \r\n\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-opacity:0.8;stroke-width:1.5;\"/>\r\n   </g>\r\n   <g id=\"patch_3\">\r\n    <path d=\"M 43.78125 224.64 \r\nL 43.78125 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_4\">\r\n    <path d=\"M 378.58125 224.64 \r\nL 378.58125 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_5\">\r\n    <path d=\"M 43.78125 224.64 \r\nL 378.58125 224.64 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_6\">\r\n    <path d=\"M 43.78125 7.2 \r\nL 378.58125 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"legend_1\">\r\n    <g id=\"patch_7\">\r\n     <path d=\"M 151.932813 219.64 \r\nL 371.58125 219.64 \r\nQ 373.58125 219.64 373.58125 217.64 \r\nL 373.58125 203.961875 \r\nQ 373.58125 201.961875 371.58125 201.961875 \r\nL 151.932813 201.961875 \r\nQ 149.932813 201.961875 149.932813 203.961875 \r\nL 149.932813 217.64 \r\nQ 149.932813 219.64 151.932813 219.64 \r\nz\r\n\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\r\n    </g>\r\n    <g id=\"line2d_14\">\r\n     <path d=\"M 153.932813 210.060312 \r\nL 173.932813 210.060312 \r\n\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-opacity:0.8;stroke-width:1.5;\"/>\r\n    </g>\r\n    <g id=\"line2d_15\"/>\r\n    <g id=\"text_15\">\r\n     <!-- RandomForestClassifier (AUC = 0.76) -->\r\n     <defs>\r\n      <path d=\"M 54.890625 33.015625 \r\nL 54.890625 0 \r\nL 45.90625 0 \r\nL 45.90625 32.71875 \r\nQ 45.90625 40.484375 42.875 44.328125 \r\nQ 39.84375 48.1875 33.796875 48.1875 \r\nQ 26.515625 48.1875 22.3125 43.546875 \r\nQ 18.109375 38.921875 18.109375 30.90625 \r\nL 18.109375 0 \r\nL 9.078125 0 \r\nL 9.078125 54.6875 \r\nL 18.109375 54.6875 \r\nL 18.109375 46.1875 \r\nQ 21.34375 51.125 25.703125 53.5625 \r\nQ 30.078125 56 35.796875 56 \r\nQ 45.21875 56 50.046875 50.171875 \r\nQ 54.890625 44.34375 54.890625 33.015625 \r\nz\r\n\" id=\"DejaVuSans-110\"/>\r\n      <path d=\"M 45.40625 46.390625 \r\nL 45.40625 75.984375 \r\nL 54.390625 75.984375 \r\nL 54.390625 0 \r\nL 45.40625 0 \r\nL 45.40625 8.203125 \r\nQ 42.578125 3.328125 38.25 0.953125 \r\nQ 33.9375 -1.421875 27.875 -1.421875 \r\nQ 17.96875 -1.421875 11.734375 6.484375 \r\nQ 5.515625 14.40625 5.515625 27.296875 \r\nQ 5.515625 40.1875 11.734375 48.09375 \r\nQ 17.96875 56 27.875 56 \r\nQ 33.9375 56 38.25 53.625 \r\nQ 42.578125 51.265625 45.40625 46.390625 \r\nz\r\nM 14.796875 27.296875 \r\nQ 14.796875 17.390625 18.875 11.75 \r\nQ 22.953125 6.109375 30.078125 6.109375 \r\nQ 37.203125 6.109375 41.296875 11.75 \r\nQ 45.40625 17.390625 45.40625 27.296875 \r\nQ 45.40625 37.203125 41.296875 42.84375 \r\nQ 37.203125 48.484375 30.078125 48.484375 \r\nQ 22.953125 48.484375 18.875 42.84375 \r\nQ 14.796875 37.203125 14.796875 27.296875 \r\nz\r\n\" id=\"DejaVuSans-100\"/>\r\n      <path d=\"M 52 44.1875 \r\nQ 55.375 50.25 60.0625 53.125 \r\nQ 64.75 56 71.09375 56 \r\nQ 79.640625 56 84.28125 50.015625 \r\nQ 88.921875 44.046875 88.921875 33.015625 \r\nL 88.921875 0 \r\nL 79.890625 0 \r\nL 79.890625 32.71875 \r\nQ 79.890625 40.578125 77.09375 44.375 \r\nQ 74.3125 48.1875 68.609375 48.1875 \r\nQ 61.625 48.1875 57.5625 43.546875 \r\nQ 53.515625 38.921875 53.515625 30.90625 \r\nL 53.515625 0 \r\nL 44.484375 0 \r\nL 44.484375 32.71875 \r\nQ 44.484375 40.625 41.703125 44.40625 \r\nQ 38.921875 48.1875 33.109375 48.1875 \r\nQ 26.21875 48.1875 22.15625 43.53125 \r\nQ 18.109375 38.875 18.109375 30.90625 \r\nL 18.109375 0 \r\nL 9.078125 0 \r\nL 9.078125 54.6875 \r\nL 18.109375 54.6875 \r\nL 18.109375 46.1875 \r\nQ 21.1875 51.21875 25.484375 53.609375 \r\nQ 29.78125 56 35.6875 56 \r\nQ 41.65625 56 45.828125 52.96875 \r\nQ 50 49.953125 52 44.1875 \r\nz\r\n\" id=\"DejaVuSans-109\"/>\r\n      <path d=\"M 64.40625 67.28125 \r\nL 64.40625 56.890625 \r\nQ 59.421875 61.53125 53.78125 63.8125 \r\nQ 48.140625 66.109375 41.796875 66.109375 \r\nQ 29.296875 66.109375 22.65625 58.46875 \r\nQ 16.015625 50.828125 16.015625 36.375 \r\nQ 16.015625 21.96875 22.65625 14.328125 \r\nQ 29.296875 6.6875 41.796875 6.6875 \r\nQ 48.140625 6.6875 53.78125 8.984375 \r\nQ 59.421875 11.28125 64.40625 15.921875 \r\nL 64.40625 5.609375 \r\nQ 59.234375 2.09375 53.4375 0.328125 \r\nQ 47.65625 -1.421875 41.21875 -1.421875 \r\nQ 24.65625 -1.421875 15.125 8.703125 \r\nQ 5.609375 18.84375 5.609375 36.375 \r\nQ 5.609375 53.953125 15.125 64.078125 \r\nQ 24.65625 74.21875 41.21875 74.21875 \r\nQ 47.75 74.21875 53.53125 72.484375 \r\nQ 59.328125 70.75 64.40625 67.28125 \r\nz\r\n\" id=\"DejaVuSans-67\"/>\r\n      <path d=\"M 37.109375 75.984375 \r\nL 37.109375 68.5 \r\nL 28.515625 68.5 \r\nQ 23.6875 68.5 21.796875 66.546875 \r\nQ 19.921875 64.59375 19.921875 59.515625 \r\nL 19.921875 54.6875 \r\nL 34.71875 54.6875 \r\nL 34.71875 47.703125 \r\nL 19.921875 47.703125 \r\nL 19.921875 0 \r\nL 10.890625 0 \r\nL 10.890625 47.703125 \r\nL 2.296875 47.703125 \r\nL 2.296875 54.6875 \r\nL 10.890625 54.6875 \r\nL 10.890625 58.5 \r\nQ 10.890625 67.625 15.140625 71.796875 \r\nQ 19.390625 75.984375 28.609375 75.984375 \r\nz\r\n\" id=\"DejaVuSans-102\"/>\r\n      <path d=\"M 31 75.875 \r\nQ 24.46875 64.65625 21.28125 53.65625 \r\nQ 18.109375 42.671875 18.109375 31.390625 \r\nQ 18.109375 20.125 21.3125 9.0625 \r\nQ 24.515625 -2 31 -13.1875 \r\nL 23.1875 -13.1875 \r\nQ 15.875 -1.703125 12.234375 9.375 \r\nQ 8.59375 20.453125 8.59375 31.390625 \r\nQ 8.59375 42.28125 12.203125 53.3125 \r\nQ 15.828125 64.359375 23.1875 75.875 \r\nz\r\n\" id=\"DejaVuSans-40\"/>\r\n      <path d=\"M 34.1875 63.1875 \r\nL 20.796875 26.90625 \r\nL 47.609375 26.90625 \r\nz\r\nM 28.609375 72.90625 \r\nL 39.796875 72.90625 \r\nL 67.578125 0 \r\nL 57.328125 0 \r\nL 50.6875 18.703125 \r\nL 17.828125 18.703125 \r\nL 11.1875 0 \r\nL 0.78125 0 \r\nz\r\n\" id=\"DejaVuSans-65\"/>\r\n      <path d=\"M 8.6875 72.90625 \r\nL 18.609375 72.90625 \r\nL 18.609375 28.609375 \r\nQ 18.609375 16.890625 22.84375 11.734375 \r\nQ 27.09375 6.59375 36.625 6.59375 \r\nQ 46.09375 6.59375 50.34375 11.734375 \r\nQ 54.59375 16.890625 54.59375 28.609375 \r\nL 54.59375 72.90625 \r\nL 64.5 72.90625 \r\nL 64.5 27.390625 \r\nQ 64.5 13.140625 57.4375 5.859375 \r\nQ 50.390625 -1.421875 36.625 -1.421875 \r\nQ 22.796875 -1.421875 15.734375 5.859375 \r\nQ 8.6875 13.140625 8.6875 27.390625 \r\nz\r\n\" id=\"DejaVuSans-85\"/>\r\n      <path d=\"M 10.59375 45.40625 \r\nL 73.1875 45.40625 \r\nL 73.1875 37.203125 \r\nL 10.59375 37.203125 \r\nz\r\nM 10.59375 25.484375 \r\nL 73.1875 25.484375 \r\nL 73.1875 17.1875 \r\nL 10.59375 17.1875 \r\nz\r\n\" id=\"DejaVuSans-61\"/>\r\n      <path d=\"M 8.203125 72.90625 \r\nL 55.078125 72.90625 \r\nL 55.078125 68.703125 \r\nL 28.609375 0 \r\nL 18.3125 0 \r\nL 43.21875 64.59375 \r\nL 8.203125 64.59375 \r\nz\r\n\" id=\"DejaVuSans-55\"/>\r\n      <path d=\"M 8.015625 75.875 \r\nL 15.828125 75.875 \r\nQ 23.140625 64.359375 26.78125 53.3125 \r\nQ 30.421875 42.28125 30.421875 31.390625 \r\nQ 30.421875 20.453125 26.78125 9.375 \r\nQ 23.140625 -1.703125 15.828125 -13.1875 \r\nL 8.015625 -13.1875 \r\nQ 14.5 -2 17.703125 9.0625 \r\nQ 20.90625 20.125 20.90625 31.390625 \r\nQ 20.90625 42.671875 17.703125 53.65625 \r\nQ 14.5 64.65625 8.015625 75.875 \r\nz\r\n\" id=\"DejaVuSans-41\"/>\r\n     </defs>\r\n     <g transform=\"translate(181.932813 213.560312)scale(0.1 -0.1)\">\r\n      <use xlink:href=\"#DejaVuSans-82\"/>\r\n      <use x=\"69.451172\" xlink:href=\"#DejaVuSans-97\"/>\r\n      <use x=\"130.730469\" xlink:href=\"#DejaVuSans-110\"/>\r\n      <use x=\"194.109375\" xlink:href=\"#DejaVuSans-100\"/>\r\n      <use x=\"257.585938\" xlink:href=\"#DejaVuSans-111\"/>\r\n      <use x=\"318.767578\" xlink:href=\"#DejaVuSans-109\"/>\r\n      <use x=\"416.179688\" xlink:href=\"#DejaVuSans-70\"/>\r\n      <use x=\"473.652344\" xlink:href=\"#DejaVuSans-111\"/>\r\n      <use x=\"534.833984\" xlink:href=\"#DejaVuSans-114\"/>\r\n      <use x=\"575.916016\" xlink:href=\"#DejaVuSans-101\"/>\r\n      <use x=\"637.439453\" xlink:href=\"#DejaVuSans-115\"/>\r\n      <use x=\"689.539062\" xlink:href=\"#DejaVuSans-116\"/>\r\n      <use x=\"728.748047\" xlink:href=\"#DejaVuSans-67\"/>\r\n      <use x=\"798.572266\" xlink:href=\"#DejaVuSans-108\"/>\r\n      <use x=\"826.355469\" xlink:href=\"#DejaVuSans-97\"/>\r\n      <use x=\"887.634766\" xlink:href=\"#DejaVuSans-115\"/>\r\n      <use x=\"939.734375\" xlink:href=\"#DejaVuSans-115\"/>\r\n      <use x=\"991.833984\" xlink:href=\"#DejaVuSans-105\"/>\r\n      <use x=\"1019.617188\" xlink:href=\"#DejaVuSans-102\"/>\r\n      <use x=\"1054.822266\" xlink:href=\"#DejaVuSans-105\"/>\r\n      <use x=\"1082.605469\" xlink:href=\"#DejaVuSans-101\"/>\r\n      <use x=\"1144.128906\" xlink:href=\"#DejaVuSans-114\"/>\r\n      <use x=\"1185.242188\" xlink:href=\"#DejaVuSans-32\"/>\r\n      <use x=\"1217.029297\" xlink:href=\"#DejaVuSans-40\"/>\r\n      <use x=\"1256.042969\" xlink:href=\"#DejaVuSans-65\"/>\r\n      <use x=\"1324.451172\" xlink:href=\"#DejaVuSans-85\"/>\r\n      <use x=\"1397.644531\" xlink:href=\"#DejaVuSans-67\"/>\r\n      <use x=\"1467.46875\" xlink:href=\"#DejaVuSans-32\"/>\r\n      <use x=\"1499.255859\" xlink:href=\"#DejaVuSans-61\"/>\r\n      <use x=\"1583.044922\" xlink:href=\"#DejaVuSans-32\"/>\r\n      <use x=\"1614.832031\" xlink:href=\"#DejaVuSans-48\"/>\r\n      <use x=\"1678.455078\" xlink:href=\"#DejaVuSans-46\"/>\r\n      <use x=\"1710.242188\" xlink:href=\"#DejaVuSans-55\"/>\r\n      <use x=\"1773.865234\" xlink:href=\"#DejaVuSans-54\"/>\r\n      <use x=\"1837.488281\" xlink:href=\"#DejaVuSans-41\"/>\r\n     </g>\r\n    </g>\r\n   </g>\r\n  </g>\r\n </g>\r\n <defs>\r\n  <clipPath id=\"p1de505f11d\">\r\n   <rect height=\"217.44\" width=\"334.8\" x=\"43.78125\" y=\"7.2\"/>\r\n  </clipPath>\r\n </defs>\r\n</svg>\r\n",
      "text/plain": "<Figure size 432x288 with 1 Axes>"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Create an ROC Curve plot.\n",
    "rfc_disp = plot_roc_curve(rand_frst_clf, X_test, y_test, alpha = 0.8)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Model Evaluation: Out-Of-Bag Error Score\n",
    "The oob_score uses a sample of \"left-over\" data that wasn't necessarily used during the model's analysis, and the validation set is a sample of data you decided to subset. In this way, the OOB sample is a little more random than the validation set. Therefore, the OOB sample (on which the oob_score is measured) may be \"harder\" that the validation set. The oob_score may, on average, have a \"less good\" accuracy score as a consequence.\n",
    "\n",
    "For example, Jeremy and Terence use only the last 2 weeks of grocery store data as a validation set. The OOB sample may have unused data from across all four years of sales data. The oob_score's sample is much harder because it's more randomized and has more variance.\n",
    "\n",
    "If the oob_score never improves, but the validation set score is always excellent. You need to re-think how to subset the validation set. In the case of Jeremy and Terence, they might decide to take a more random sample of data across all years rather than strictly the last 2 weeks of data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": "Random Forest Out-Of-Bag Error Score: 0.7005434782608696\n"
    }
   ],
   "source": [
    "print('Random Forest Out-Of-Bag Error Score: {}'.format(rand_frst_clf.oob_score_))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Model Improvement: Randomized Search\n",
    "If you remember way up above, I mentioned that there is no magic number of estimators to use with every data set. Instead, with Random Forest, we have to try different values to find what the optimal values should be for each of the parameters. Fortunately, for us, this can be done using the `RandomizedSearchCV` method provided by `sklearn`.\n",
    "\n",
    "The idea behind this approach is to provide a wide range of possible values for each hyperparameter and then using cross-validation, to try different combinations of these parameters. With the highest result of these combinations being the one, we should use for our data set.\n",
    "\n",
    "To use this method, we need to first import the `RandomizedSearchCV` object from the `sklearn.model_selection` module. From there, we need to define a range of values for each of the hyperparameters we wish to test. To do this appropriately, we need to make sure we understand what each argument means in the model, so let's walk through them:\n",
    "\n",
    "1. n_estimators - The number of trees in the forest.\n",
    "2. max_features - The number of features to consider when looking for the best split.\n",
    "3. max_depth - The maximum depth of the tree. If None, then nodes are expanded until all leaves are pure or until all leaves contain less than min_samples_split samples.\n",
    "4. min_samples_split - The minimum number of samples required to split an internal node.\n",
    "5. min_samples_leaf - The minimum number of samples required to be at a leaf node. A split point at any depth will only be considered if it leaves at least min_samples_leaf training samples in each of the left and right branches. This may have the effect of smoothing the model, especially in regression.\n",
    "6. bootstrap - Whether bootstrap samples are used when building trees. If False, the whole dataset is used to construct each tree."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": "{'n_estimators': [200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800], 'max_features': ['auto', 'sqrt', None, 'log2'], 'max_depth': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, None], 'min_samples_split': [2, 5, 10, 20, 30, 40], 'min_samples_leaf': [1, 2, 7, 12, 14, 16, 20], 'bootstrap': [True, False]}\n"
    }
   ],
   "source": [
    "# Number of trees in random forest\n",
    "# Number of trees is not a parameter that should be tuned, but just set large enough usually. There is no risk of overfitting in random forest with growing number of # trees, as they are trained independently from each other. \n",
    "n_estimators = list(range(200, 2000, 200))\n",
    "\n",
    "# Number of features to consider at every split\n",
    "max_features = ['auto', 'sqrt', None, 'log2']\n",
    "\n",
    "# Maximum number of levels in tree\n",
    "# Max depth is a parameter that most of the times should be set as high as possible, but possibly better performance can be achieved by setting it lower.\n",
    "max_depth = list(range(10, 110, 10))\n",
    "max_depth.append(None)\n",
    "\n",
    "# Minimum number of samples required to split a node\n",
    "# Higher values prevent a model from learning relations which might be highly specific to the particular sample selected for a tree. Too high values can also lead to # under-fitting hence depending on the level of underfitting or overfitting, you can tune the values for min_samples_split.\n",
    "min_samples_split = [2, 5, 10, 20, 30, 40]\n",
    "\n",
    "# Minimum number of samples required at each leaf node\n",
    "min_samples_leaf = [1, 2, 7, 12, 14, 16 ,20]\n",
    "\n",
    "# Method of selecting samples for training each tree\n",
    "bootstrap = [True, False]\n",
    "\n",
    "# Create the random grid\n",
    "random_grid = {'n_estimators': n_estimators,\n",
    "               'max_features': max_features,\n",
    "               'max_depth': max_depth,\n",
    "               'min_samples_split': min_samples_split,\n",
    "               'min_samples_leaf': min_samples_leaf,\n",
    "               'bootstrap': bootstrap}\n",
    "\n",
    "print(random_grid)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Model Improvement: Running Randomized Search\n",
    "Now that we've created a range of values for some of our hyperparameters, we can put them to the test. The first thing we need to do is create a new instance of our `RandomForestClassifier` model and pass it through to our `RandomizedSearchCV` object. When we use the `RandomizedSearchCV`, we need to specify a few additional arguments. \n",
    "\n",
    "The estimator is the model we wish to use; in this case, it's just our `RandomForestClassifier`. The `param_distribution` will get our `random_grid` dictionary. `n_iter` is an important argument because it will specify the number of iterations we will do, so the higher it is, the more iterations we will do. `cv`, defines the cross-validation splitting strategy we will use, `random_state` is used for random uniform sampling. `verbose` controls the verbosity: the higher, the more messages. `n_jobs` number of jobs to run in parallel. None means 1 unless in a joblib.parallel_backend context. -1 means using all processors. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 144,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 3 folds for each of 100 candidates, totalling 300 fits\n",
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n",
      "[Parallel(n_jobs=-1)]: Done  33 tasks      | elapsed:   45.0s\n",
      "[Parallel(n_jobs=-1)]: Done 154 tasks      | elapsed:  4.1min\n",
      "[Parallel(n_jobs=-1)]: Done 300 out of 300 | elapsed:  8.8min finished\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "RandomizedSearchCV(cv=3, error_score=nan,\n",
       "                   estimator=RandomForestClassifier(bootstrap=True,\n",
       "                                                    ccp_alpha=0.0,\n",
       "                                                    class_weight=None,\n",
       "                                                    criterion='gini',\n",
       "                                                    max_depth=None,\n",
       "                                                    max_features='auto',\n",
       "                                                    max_leaf_nodes=None,\n",
       "                                                    max_samples=None,\n",
       "                                                    min_impurity_decrease=0.0,\n",
       "                                                    min_impurity_split=None,\n",
       "                                                    min_samples_leaf=1,\n",
       "                                                    min_samples_split=2,\n",
       "                                                    min_weight_fraction_leaf=0.0,\n",
       "                                                    n_estimators=100,\n",
       "                                                    n_jobs...\n",
       "                   param_distributions={'bootstrap': [True, False],\n",
       "                                        'max_depth': [10, 20, 30, 40, 50, 60,\n",
       "                                                      70, 80, 90, 100, None],\n",
       "                                        'max_features': ['auto', 'sqrt', None,\n",
       "                                                         'log2'],\n",
       "                                        'min_samples_leaf': [1, 2, 7, 12, 14,\n",
       "                                                             16, 20],\n",
       "                                        'min_samples_split': [2, 5, 10, 20, 30,\n",
       "                                                              40],\n",
       "                                        'n_estimators': [200, 400, 600, 800,\n",
       "                                                         1000, 1200, 1400, 1600,\n",
       "                                                         1800]},\n",
       "                   pre_dispatch='2*n_jobs', random_state=42, refit=True,\n",
       "                   return_train_score=False, scoring=None, verbose=2)"
      ]
     },
     "execution_count": 144,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# New Random Forest Classifier to house optimal parameters\n",
    "rf = RandomForestClassifier()\n",
    "\n",
    "# Specfiy the details of our Randomized Search\n",
    "rf_random = RandomizedSearchCV(estimator = rf, param_distributions = random_grid, n_iter = 100, cv = 3, verbose=2, random_state=42, n_jobs = -1)\n",
    "\n",
    "# Fit the random search model\n",
    "rf_random.fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 145,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Correct Prediction (%):  72.70875763747455\n",
      "\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>f1-score</th>\n",
       "      <th>precision</th>\n",
       "      <th>recall</th>\n",
       "      <th>support</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Down Day</th>\n",
       "      <td>0.666667</td>\n",
       "      <td>0.690583</td>\n",
       "      <td>0.644351</td>\n",
       "      <td>239.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Up Day</th>\n",
       "      <td>0.703846</td>\n",
       "      <td>0.682836</td>\n",
       "      <td>0.726190</td>\n",
       "      <td>252.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>accuracy</th>\n",
       "      <td>0.686354</td>\n",
       "      <td>0.686354</td>\n",
       "      <td>0.686354</td>\n",
       "      <td>0.686354</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>macro avg</th>\n",
       "      <td>0.685256</td>\n",
       "      <td>0.686709</td>\n",
       "      <td>0.685271</td>\n",
       "      <td>491.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>weighted avg</th>\n",
       "      <td>0.685749</td>\n",
       "      <td>0.686607</td>\n",
       "      <td>0.686354</td>\n",
       "      <td>491.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              f1-score  precision    recall     support\n",
       "Down Day      0.666667   0.690583  0.644351  239.000000\n",
       "Up Day        0.703846   0.682836  0.726190  252.000000\n",
       "accuracy      0.686354   0.686354  0.686354    0.686354\n",
       "macro avg     0.685256   0.686709  0.685271  491.000000\n",
       "weighted avg  0.685749   0.686607  0.686354  491.000000"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "k_percent               0.207933\n",
       "r_percent               0.186390\n",
       "RSI                     0.175436\n",
       "MACD                    0.159717\n",
       "Price_Rate_Of_Change    0.155012\n",
       "On Balance Volume       0.115513\n",
       "dtype: float64"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# With the new Random Classifier trained we can proceed to our regular steps, prediction.\n",
    "rf_random.predict(X_test)\n",
    "\n",
    "\n",
    "'''\n",
    "    ACCURACY\n",
    "'''\n",
    "# Once the predictions have been made, then grab the accuracy score.\n",
    "print('Correct Prediction (%): ', accuracy_score(y_test, rf_random.predict(X_test), normalize = True) * 100.0)\n",
    "\n",
    "\n",
    "'''\n",
    "    CLASSIFICATION REPORT\n",
    "'''\n",
    "# Define the traget names\n",
    "target_names = ['Down Day', 'Up Day']\n",
    "\n",
    "# Build a classifcation report\n",
    "report = classification_report(y_true = y_test, y_pred = y_pred, target_names = target_names, output_dict = True)\n",
    "\n",
    "# Add it to a data frame, transpose it for readability.\n",
    "report_df = pd.DataFrame(report).transpose()\n",
    "display(report_df)\n",
    "print('\\n')\n",
    "\n",
    "'''\n",
    "    FEATURE IMPORTANCE\n",
    "'''\n",
    "# Calculate feature importance and store in pandas series\n",
    "feature_imp = pd.Series(rand_frst_clf.feature_importances_, index=X_Cols.columns).sort_values(ascending=False)\n",
    "display(feature_imp)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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VTWofnr06KHHY/3uFL17yrLjeu0x5eWpzp/v/ptv9WrV3FzffJ4JCqtXr/Z3CFqzZs1Dj5cuXaotW7bUrKwsTU9P1+joaP3xxx9VVTU9PV0HDRqkEyZMUFXVFStWaOvWrXXdunWqqpqbm6svv/zyUe9f0nFPP/203n///aqq+sUXX6i73KjOmTNHBw0adMT7xMbGat++fbVt27a6c+dOVVWdOXOm9u7dW1NTU1VVNS4uTvfs2XNUDH369NENGzaoquqbb76po0ePPuL5s88+W+fNm6eZmZkaFRV16N9l69atGhkZqcnJyaqq+o9//ENHjhypBw8eVFXVnTt36ocffnisX3GJYmNjtUuXLpqZmambN2/W6OhozcnJKfLYN954Q6+77roj9t166636+OOPq6rq7t27tVmzZpqQkKCqqosXL9aLL764yPcq6m8Pt0RwkddV6yw+UXv2wN13w5gx8PXXh/e3b2+VQk1A6datG127dmXKlClUr16dr776imeeeYZTTjmFzp0706tXL8aMGQNAly5dGD9+PFdddRXt27enU6dO7Nq166j3LOm4UaNG8dNPP9G7d28WLFhw1F1AQR07diQ1NZXmzZvTtGlTAC666CKuvvpq+vbtS+fOnRk+fHiRo3gGDRrE3LlzAde0cumllx7x/OWXX84nn3xCtWrV+Oijj7jhhhuIiYlh+PDhvPPOO9StWxeAZ555hoiICDp06ECnTp0YNmwYERERpf9FFzqvK664gg4dOtC/f38mTpxIZc9CUgMHDjyiaWfKlClcddVVR7z+0Ucf5bfffqNz587069ePF198kUaNGgEwZ84cBpVRKRrRIFu2sWfPnro4vyZPKWzYk8obczfxr7JaiyAvzxWJGz8e0tPdMNAHHnDzA4wB1qxZQ/v27f0dRoW3a9currvuOn788Ud/h1Kuzj77bL766ivq169/1HNF/e2JyBJV7VnUe1kfwfHYts0ViVu61G2fe65LAif47cEYU3pNmzZl1KhRpKSkeDXqpyJISEjgnnvuKTIJHA9LBKW1ciXcequbE9CggZsd3K/f4TUEjDHl7kTH+webiIiIQ3MNyoIlgtJq3x4iI+GUU+Cee8DTvmiMMcHKEsGxZGW5WcGXXeYqg1atCu+9BzVq+DsyY4wpEzaspSR//AHXXAOvv+4Wkc9nScAYU4HYHUFRMjLg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\n",
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n",
       "  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n",
       "<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n",
       "<svg height=\"277.314375pt\" version=\"1.1\" viewBox=\"0 0 385.78125 277.314375\" width=\"385.78125pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n",
       " <defs>\r\n",
       "  <style type=\"text/css\">\r\n",
       "*{stroke-linecap:butt;stroke-linejoin:round;white-space:pre;}\r\n",
       "  </style>\r\n",
       " </defs>\r\n",
       " <g id=\"figure_1\">\r\n",
       "  <g id=\"patch_1\">\r\n",
       "   <path d=\"M 0 277.314375 \r\n",
       "L 385.78125 277.314375 \r\n",
       "L 385.78125 0 \r\n",
       "L 0 0 \r\n",
       "z\r\n",
       "\" style=\"fill:none;\"/>\r\n",
       "  </g>\r\n",
       "  <g id=\"axes_1\">\r\n",
       "   <g id=\"patch_2\">\r\n",
       "    <path d=\"M 43.78125 239.758125 \r\n",
       "L 378.58125 239.758125 \r\n",
       "L 378.58125 22.318125 \r\n",
       "L 43.78125 22.318125 \r\n",
       "z\r\n",
       "\" style=\"fill:#ffffff;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"matplotlib.axis_1\">\r\n",
       "    <g id=\"xtick_1\">\r\n",
       "     <g id=\"line2d_1\">\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 0 0 \r\n",
       "L 0 3.5 \r\n",
       "\" id=\"mc46b480313\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n",
       "      </defs>\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"58.999432\" xlink:href=\"#mc46b480313\" y=\"239.758125\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_1\">\r\n",
       "      <!-- 0.0 -->\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 31.78125 66.40625 \r\n",
       "Q 24.171875 66.40625 20.328125 58.90625 \r\n",
       "Q 16.5 51.421875 16.5 36.375 \r\n",
       "Q 16.5 21.390625 20.328125 13.890625 \r\n",
       "Q 24.171875 6.390625 31.78125 6.390625 \r\n",
       "Q 39.453125 6.390625 43.28125 13.890625 \r\n",
       "Q 47.125 21.390625 47.125 36.375 \r\n",
       "Q 47.125 51.421875 43.28125 58.90625 \r\n",
       "Q 39.453125 66.40625 31.78125 66.40625 \r\n",
       "z\r\n",
       "M 31.78125 74.21875 \r\n",
       "Q 44.046875 74.21875 50.515625 64.515625 \r\n",
       "Q 56.984375 54.828125 56.984375 36.375 \r\n",
       "Q 56.984375 17.96875 50.515625 8.265625 \r\n",
       "Q 44.046875 -1.421875 31.78125 -1.421875 \r\n",
       "Q 19.53125 -1.421875 13.0625 8.265625 \r\n",
       "Q 6.59375 17.96875 6.59375 36.375 \r\n",
       "Q 6.59375 54.828125 13.0625 64.515625 \r\n",
       "Q 19.53125 74.21875 31.78125 74.21875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-48\"/>\r\n",
       "       <path d=\"M 10.6875 12.40625 \r\n",
       "L 21 12.40625 \r\n",
       "L 21 0 \r\n",
       "L 10.6875 0 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-46\"/>\r\n",
       "      </defs>\r\n",
       "      <g transform=\"translate(51.047869 254.356562)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"xtick_2\">\r\n",
       "     <g id=\"line2d_2\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"119.872159\" xlink:href=\"#mc46b480313\" y=\"239.758125\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_2\">\r\n",
       "      <!-- 0.2 -->\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 19.1875 8.296875 \r\n",
       "L 53.609375 8.296875 \r\n",
       "L 53.609375 0 \r\n",
       "L 7.328125 0 \r\n",
       "L 7.328125 8.296875 \r\n",
       "Q 12.9375 14.109375 22.625 23.890625 \r\n",
       "Q 32.328125 33.6875 34.8125 36.53125 \r\n",
       "Q 39.546875 41.84375 41.421875 45.53125 \r\n",
       "Q 43.3125 49.21875 43.3125 52.78125 \r\n",
       "Q 43.3125 58.59375 39.234375 62.25 \r\n",
       "Q 35.15625 65.921875 28.609375 65.921875 \r\n",
       "Q 23.96875 65.921875 18.8125 64.3125 \r\n",
       "Q 13.671875 62.703125 7.8125 59.421875 \r\n",
       "L 7.8125 69.390625 \r\n",
       "Q 13.765625 71.78125 18.9375 73 \r\n",
       "Q 24.125 74.21875 28.421875 74.21875 \r\n",
       "Q 39.75 74.21875 46.484375 68.546875 \r\n",
       "Q 53.21875 62.890625 53.21875 53.421875 \r\n",
       "Q 53.21875 48.921875 51.53125 44.890625 \r\n",
       "Q 49.859375 40.875 45.40625 35.40625 \r\n",
       "Q 44.1875 33.984375 37.640625 27.21875 \r\n",
       "Q 31.109375 20.453125 19.1875 8.296875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-50\"/>\r\n",
       "      </defs>\r\n",
       "      <g transform=\"translate(111.920597 254.356562)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-50\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"xtick_3\">\r\n",
       "     <g id=\"line2d_3\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"180.744886\" xlink:href=\"#mc46b480313\" y=\"239.758125\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_3\">\r\n",
       "      <!-- 0.4 -->\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 37.796875 64.3125 \r\n",
       "L 12.890625 25.390625 \r\n",
       "L 37.796875 25.390625 \r\n",
       "z\r\n",
       "M 35.203125 72.90625 \r\n",
       "L 47.609375 72.90625 \r\n",
       "L 47.609375 25.390625 \r\n",
       "L 58.015625 25.390625 \r\n",
       "L 58.015625 17.1875 \r\n",
       "L 47.609375 17.1875 \r\n",
       "L 47.609375 0 \r\n",
       "L 37.796875 0 \r\n",
       "L 37.796875 17.1875 \r\n",
       "L 4.890625 17.1875 \r\n",
       "L 4.890625 26.703125 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-52\"/>\r\n",
       "      </defs>\r\n",
       "      <g transform=\"translate(172.793324 254.356562)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-52\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"xtick_4\">\r\n",
       "     <g id=\"line2d_4\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"241.617614\" xlink:href=\"#mc46b480313\" y=\"239.758125\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_4\">\r\n",
       "      <!-- 0.6 -->\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 33.015625 40.375 \r\n",
       "Q 26.375 40.375 22.484375 35.828125 \r\n",
       "Q 18.609375 31.296875 18.609375 23.390625 \r\n",
       "Q 18.609375 15.53125 22.484375 10.953125 \r\n",
       "Q 26.375 6.390625 33.015625 6.390625 \r\n",
       "Q 39.65625 6.390625 43.53125 10.953125 \r\n",
       "Q 47.40625 15.53125 47.40625 23.390625 \r\n",
       "Q 47.40625 31.296875 43.53125 35.828125 \r\n",
       "Q 39.65625 40.375 33.015625 40.375 \r\n",
       "z\r\n",
       "M 52.59375 71.296875 \r\n",
       "L 52.59375 62.3125 \r\n",
       "Q 48.875 64.0625 45.09375 64.984375 \r\n",
       "Q 41.3125 65.921875 37.59375 65.921875 \r\n",
       "Q 27.828125 65.921875 22.671875 59.328125 \r\n",
       "Q 17.53125 52.734375 16.796875 39.40625 \r\n",
       "Q 19.671875 43.65625 24.015625 45.921875 \r\n",
       "Q 28.375 48.1875 33.59375 48.1875 \r\n",
       "Q 44.578125 48.1875 50.953125 41.515625 \r\n",
       "Q 57.328125 34.859375 57.328125 23.390625 \r\n",
       "Q 57.328125 12.15625 50.6875 5.359375 \r\n",
       "Q 44.046875 -1.421875 33.015625 -1.421875 \r\n",
       "Q 20.359375 -1.421875 13.671875 8.265625 \r\n",
       "Q 6.984375 17.96875 6.984375 36.375 \r\n",
       "Q 6.984375 53.65625 15.1875 63.9375 \r\n",
       "Q 23.390625 74.21875 37.203125 74.21875 \r\n",
       "Q 40.921875 74.21875 44.703125 73.484375 \r\n",
       "Q 48.484375 72.75 52.59375 71.296875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-54\"/>\r\n",
       "      </defs>\r\n",
       "      <g transform=\"translate(233.666051 254.356562)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-54\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"xtick_5\">\r\n",
       "     <g id=\"line2d_5\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"302.490341\" xlink:href=\"#mc46b480313\" y=\"239.758125\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_5\">\r\n",
       "      <!-- 0.8 -->\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 31.78125 34.625 \r\n",
       "Q 24.75 34.625 20.71875 30.859375 \r\n",
       "Q 16.703125 27.09375 16.703125 20.515625 \r\n",
       "Q 16.703125 13.921875 20.71875 10.15625 \r\n",
       "Q 24.75 6.390625 31.78125 6.390625 \r\n",
       "Q 38.8125 6.390625 42.859375 10.171875 \r\n",
       "Q 46.921875 13.96875 46.921875 20.515625 \r\n",
       "Q 46.921875 27.09375 42.890625 30.859375 \r\n",
       "Q 38.875 34.625 31.78125 34.625 \r\n",
       "z\r\n",
       "M 21.921875 38.8125 \r\n",
       "Q 15.578125 40.375 12.03125 44.71875 \r\n",
       "Q 8.5 49.078125 8.5 55.328125 \r\n",
       "Q 8.5 64.0625 14.71875 69.140625 \r\n",
       "Q 20.953125 74.21875 31.78125 74.21875 \r\n",
       "Q 42.671875 74.21875 48.875 69.140625 \r\n",
       "Q 55.078125 64.0625 55.078125 55.328125 \r\n",
       "Q 55.078125 49.078125 51.53125 44.71875 \r\n",
       "Q 48 40.375 41.703125 38.8125 \r\n",
       "Q 48.828125 37.15625 52.796875 32.3125 \r\n",
       "Q 56.78125 27.484375 56.78125 20.515625 \r\n",
       "Q 56.78125 9.90625 50.3125 4.234375 \r\n",
       "Q 43.84375 -1.421875 31.78125 -1.421875 \r\n",
       "Q 19.734375 -1.421875 13.25 4.234375 \r\n",
       "Q 6.78125 9.90625 6.78125 20.515625 \r\n",
       "Q 6.78125 27.484375 10.78125 32.3125 \r\n",
       "Q 14.796875 37.15625 21.921875 38.8125 \r\n",
       "z\r\n",
       "M 18.3125 54.390625 \r\n",
       "Q 18.3125 48.734375 21.84375 45.5625 \r\n",
       "Q 25.390625 42.390625 31.78125 42.390625 \r\n",
       "Q 38.140625 42.390625 41.71875 45.5625 \r\n",
       "Q 45.3125 48.734375 45.3125 54.390625 \r\n",
       "Q 45.3125 60.0625 41.71875 63.234375 \r\n",
       "Q 38.140625 66.40625 31.78125 66.40625 \r\n",
       "Q 25.390625 66.40625 21.84375 63.234375 \r\n",
       "Q 18.3125 60.0625 18.3125 54.390625 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-56\"/>\r\n",
       "      </defs>\r\n",
       "      <g transform=\"translate(294.538778 254.356562)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-56\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"xtick_6\">\r\n",
       "     <g id=\"line2d_6\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"363.363068\" xlink:href=\"#mc46b480313\" y=\"239.758125\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_6\">\r\n",
       "      <!-- 1.0 -->\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 12.40625 8.296875 \r\n",
       "L 28.515625 8.296875 \r\n",
       "L 28.515625 63.921875 \r\n",
       "L 10.984375 60.40625 \r\n",
       "L 10.984375 69.390625 \r\n",
       "L 28.421875 72.90625 \r\n",
       "L 38.28125 72.90625 \r\n",
       "L 38.28125 8.296875 \r\n",
       "L 54.390625 8.296875 \r\n",
       "L 54.390625 0 \r\n",
       "L 12.40625 0 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-49\"/>\r\n",
       "      </defs>\r\n",
       "      <g transform=\"translate(355.411506 254.356562)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-49\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"text_7\">\r\n",
       "     <!-- False Positive Rate -->\r\n",
       "     <defs>\r\n",
       "      <path d=\"M 9.8125 72.90625 \r\n",
       "L 51.703125 72.90625 \r\n",
       "L 51.703125 64.59375 \r\n",
       "L 19.671875 64.59375 \r\n",
       "L 19.671875 43.109375 \r\n",
       "L 48.578125 43.109375 \r\n",
       "L 48.578125 34.8125 \r\n",
       "L 19.671875 34.8125 \r\n",
       "L 19.671875 0 \r\n",
       "L 9.8125 0 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-70\"/>\r\n",
       "      <path d=\"M 34.28125 27.484375 \r\n",
       "Q 23.390625 27.484375 19.1875 25 \r\n",
       "Q 14.984375 22.515625 14.984375 16.5 \r\n",
       "Q 14.984375 11.71875 18.140625 8.90625 \r\n",
       "Q 21.296875 6.109375 26.703125 6.109375 \r\n",
       "Q 34.1875 6.109375 38.703125 11.40625 \r\n",
       "Q 43.21875 16.703125 43.21875 25.484375 \r\n",
       "L 43.21875 27.484375 \r\n",
       "z\r\n",
       "M 52.203125 31.203125 \r\n",
       "L 52.203125 0 \r\n",
       "L 43.21875 0 \r\n",
       "L 43.21875 8.296875 \r\n",
       "Q 40.140625 3.328125 35.546875 0.953125 \r\n",
       "Q 30.953125 -1.421875 24.3125 -1.421875 \r\n",
       "Q 15.921875 -1.421875 10.953125 3.296875 \r\n",
       "Q 6 8.015625 6 15.921875 \r\n",
       "Q 6 25.140625 12.171875 29.828125 \r\n",
       "Q 18.359375 34.515625 30.609375 34.515625 \r\n",
       "L 43.21875 34.515625 \r\n",
       "L 43.21875 35.40625 \r\n",
       "Q 43.21875 41.609375 39.140625 45 \r\n",
       "Q 35.0625 48.390625 27.6875 48.390625 \r\n",
       "Q 23 48.390625 18.546875 47.265625 \r\n",
       "Q 14.109375 46.140625 10.015625 43.890625 \r\n",
       "L 10.015625 52.203125 \r\n",
       "Q 14.9375 54.109375 19.578125 55.046875 \r\n",
       "Q 24.21875 56 28.609375 56 \r\n",
       "Q 40.484375 56 46.34375 49.84375 \r\n",
       "Q 52.203125 43.703125 52.203125 31.203125 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-97\"/>\r\n",
       "      <path d=\"M 9.421875 75.984375 \r\n",
       "L 18.40625 75.984375 \r\n",
       "L 18.40625 0 \r\n",
       "L 9.421875 0 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-108\"/>\r\n",
       "      <path d=\"M 44.28125 53.078125 \r\n",
       "L 44.28125 44.578125 \r\n",
       "Q 40.484375 46.53125 36.375 47.5 \r\n",
       "Q 32.28125 48.484375 27.875 48.484375 \r\n",
       "Q 21.1875 48.484375 17.84375 46.4375 \r\n",
       "Q 14.5 44.390625 14.5 40.28125 \r\n",
       "Q 14.5 37.15625 16.890625 35.375 \r\n",
       "Q 19.28125 33.59375 26.515625 31.984375 \r\n",
       "L 29.59375 31.296875 \r\n",
       "Q 39.15625 29.25 43.1875 25.515625 \r\n",
       "Q 47.21875 21.78125 47.21875 15.09375 \r\n",
       "Q 47.21875 7.46875 41.1875 3.015625 \r\n",
       "Q 35.15625 -1.421875 24.609375 -1.421875 \r\n",
       "Q 20.21875 -1.421875 15.453125 -0.5625 \r\n",
       "Q 10.6875 0.296875 5.421875 2 \r\n",
       "L 5.421875 11.28125 \r\n",
       "Q 10.40625 8.6875 15.234375 7.390625 \r\n",
       "Q 20.0625 6.109375 24.8125 6.109375 \r\n",
       "Q 31.15625 6.109375 34.5625 8.28125 \r\n",
       "Q 37.984375 10.453125 37.984375 14.40625 \r\n",
       "Q 37.984375 18.0625 35.515625 20.015625 \r\n",
       "Q 33.0625 21.96875 24.703125 23.78125 \r\n",
       "L 21.578125 24.515625 \r\n",
       "Q 13.234375 26.265625 9.515625 29.90625 \r\n",
       "Q 5.8125 33.546875 5.8125 39.890625 \r\n",
       "Q 5.8125 47.609375 11.28125 51.796875 \r\n",
       "Q 16.75 56 26.8125 56 \r\n",
       "Q 31.78125 56 36.171875 55.265625 \r\n",
       "Q 40.578125 54.546875 44.28125 53.078125 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-115\"/>\r\n",
       "      <path d=\"M 56.203125 29.59375 \r\n",
       "L 56.203125 25.203125 \r\n",
       "L 14.890625 25.203125 \r\n",
       "Q 15.484375 15.921875 20.484375 11.0625 \r\n",
       "Q 25.484375 6.203125 34.421875 6.203125 \r\n",
       "Q 39.59375 6.203125 44.453125 7.46875 \r\n",
       "Q 49.3125 8.734375 54.109375 11.28125 \r\n",
       "L 54.109375 2.78125 \r\n",
       "Q 49.265625 0.734375 44.1875 -0.34375 \r\n",
       "Q 39.109375 -1.421875 33.890625 -1.421875 \r\n",
       "Q 20.796875 -1.421875 13.15625 6.1875 \r\n",
       "Q 5.515625 13.8125 5.515625 26.8125 \r\n",
       "Q 5.515625 40.234375 12.765625 48.109375 \r\n",
       "Q 20.015625 56 32.328125 56 \r\n",
       "Q 43.359375 56 49.78125 48.890625 \r\n",
       "Q 56.203125 41.796875 56.203125 29.59375 \r\n",
       "z\r\n",
       "M 47.21875 32.234375 \r\n",
       "Q 47.125 39.59375 43.09375 43.984375 \r\n",
       "Q 39.0625 48.390625 32.421875 48.390625 \r\n",
       "Q 24.90625 48.390625 20.390625 44.140625 \r\n",
       "Q 15.875 39.890625 15.1875 32.171875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-101\"/>\r\n",
       "      <path id=\"DejaVuSans-32\"/>\r\n",
       "      <path d=\"M 19.671875 64.796875 \r\n",
       "L 19.671875 37.40625 \r\n",
       "L 32.078125 37.40625 \r\n",
       "Q 38.96875 37.40625 42.71875 40.96875 \r\n",
       "Q 46.484375 44.53125 46.484375 51.125 \r\n",
       "Q 46.484375 57.671875 42.71875 61.234375 \r\n",
       "Q 38.96875 64.796875 32.078125 64.796875 \r\n",
       "z\r\n",
       "M 9.8125 72.90625 \r\n",
       "L 32.078125 72.90625 \r\n",
       "Q 44.34375 72.90625 50.609375 67.359375 \r\n",
       "Q 56.890625 61.8125 56.890625 51.125 \r\n",
       "Q 56.890625 40.328125 50.609375 34.8125 \r\n",
       "Q 44.34375 29.296875 32.078125 29.296875 \r\n",
       "L 19.671875 29.296875 \r\n",
       "L 19.671875 0 \r\n",
       "L 9.8125 0 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-80\"/>\r\n",
       "      <path d=\"M 30.609375 48.390625 \r\n",
       "Q 23.390625 48.390625 19.1875 42.75 \r\n",
       "Q 14.984375 37.109375 14.984375 27.296875 \r\n",
       "Q 14.984375 17.484375 19.15625 11.84375 \r\n",
       "Q 23.34375 6.203125 30.609375 6.203125 \r\n",
       "Q 37.796875 6.203125 41.984375 11.859375 \r\n",
       "Q 46.1875 17.53125 46.1875 27.296875 \r\n",
       "Q 46.1875 37.015625 41.984375 42.703125 \r\n",
       "Q 37.796875 48.390625 30.609375 48.390625 \r\n",
       "z\r\n",
       "M 30.609375 56 \r\n",
       "Q 42.328125 56 49.015625 48.375 \r\n",
       "Q 55.71875 40.765625 55.71875 27.296875 \r\n",
       "Q 55.71875 13.875 49.015625 6.21875 \r\n",
       "Q 42.328125 -1.421875 30.609375 -1.421875 \r\n",
       "Q 18.84375 -1.421875 12.171875 6.21875 \r\n",
       "Q 5.515625 13.875 5.515625 27.296875 \r\n",
       "Q 5.515625 40.765625 12.171875 48.375 \r\n",
       "Q 18.84375 56 30.609375 56 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-111\"/>\r\n",
       "      <path d=\"M 9.421875 54.6875 \r\n",
       "L 18.40625 54.6875 \r\n",
       "L 18.40625 0 \r\n",
       "L 9.421875 0 \r\n",
       "z\r\n",
       "M 9.421875 75.984375 \r\n",
       "L 18.40625 75.984375 \r\n",
       "L 18.40625 64.59375 \r\n",
       "L 9.421875 64.59375 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-105\"/>\r\n",
       "      <path d=\"M 18.3125 70.21875 \r\n",
       "L 18.3125 54.6875 \r\n",
       "L 36.8125 54.6875 \r\n",
       "L 36.8125 47.703125 \r\n",
       "L 18.3125 47.703125 \r\n",
       "L 18.3125 18.015625 \r\n",
       "Q 18.3125 11.328125 20.140625 9.421875 \r\n",
       "Q 21.96875 7.515625 27.59375 7.515625 \r\n",
       "L 36.8125 7.515625 \r\n",
       "L 36.8125 0 \r\n",
       "L 27.59375 0 \r\n",
       "Q 17.1875 0 13.234375 3.875 \r\n",
       "Q 9.28125 7.765625 9.28125 18.015625 \r\n",
       "L 9.28125 47.703125 \r\n",
       "L 2.6875 47.703125 \r\n",
       "L 2.6875 54.6875 \r\n",
       "L 9.28125 54.6875 \r\n",
       "L 9.28125 70.21875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-116\"/>\r\n",
       "      <path d=\"M 2.984375 54.6875 \r\n",
       "L 12.5 54.6875 \r\n",
       "L 29.59375 8.796875 \r\n",
       "L 46.6875 54.6875 \r\n",
       "L 56.203125 54.6875 \r\n",
       "L 35.6875 0 \r\n",
       "L 23.484375 0 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-118\"/>\r\n",
       "      <path d=\"M 44.390625 34.1875 \r\n",
       "Q 47.5625 33.109375 50.5625 29.59375 \r\n",
       "Q 53.5625 26.078125 56.59375 19.921875 \r\n",
       "L 66.609375 0 \r\n",
       "L 56 0 \r\n",
       "L 46.6875 18.703125 \r\n",
       "Q 43.0625 26.03125 39.671875 28.421875 \r\n",
       "Q 36.28125 30.8125 30.421875 30.8125 \r\n",
       "L 19.671875 30.8125 \r\n",
       "L 19.671875 0 \r\n",
       "L 9.8125 0 \r\n",
       "L 9.8125 72.90625 \r\n",
       "L 32.078125 72.90625 \r\n",
       "Q 44.578125 72.90625 50.734375 67.671875 \r\n",
       "Q 56.890625 62.453125 56.890625 51.90625 \r\n",
       "Q 56.890625 45.015625 53.6875 40.46875 \r\n",
       "Q 50.484375 35.9375 44.390625 34.1875 \r\n",
       "z\r\n",
       "M 19.671875 64.796875 \r\n",
       "L 19.671875 38.921875 \r\n",
       "L 32.078125 38.921875 \r\n",
       "Q 39.203125 38.921875 42.84375 42.21875 \r\n",
       "Q 46.484375 45.515625 46.484375 51.90625 \r\n",
       "Q 46.484375 58.296875 42.84375 61.546875 \r\n",
       "Q 39.203125 64.796875 32.078125 64.796875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-82\"/>\r\n",
       "     </defs>\r\n",
       "     <g transform=\"translate(163.975781 268.034687)scale(0.1 -0.1)\">\r\n",
       "      <use xlink:href=\"#DejaVuSans-70\"/>\r\n",
       "      <use x=\"57.378906\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "      <use x=\"118.658203\" xlink:href=\"#DejaVuSans-108\"/>\r\n",
       "      <use x=\"146.441406\" xlink:href=\"#DejaVuSans-115\"/>\r\n",
       "      <use x=\"198.541016\" xlink:href=\"#DejaVuSans-101\"/>\r\n",
       "      <use x=\"260.064453\" xlink:href=\"#DejaVuSans-32\"/>\r\n",
       "      <use x=\"291.851562\" xlink:href=\"#DejaVuSans-80\"/>\r\n",
       "      <use x=\"352.107422\" xlink:href=\"#DejaVuSans-111\"/>\r\n",
       "      <use x=\"413.289062\" xlink:href=\"#DejaVuSans-115\"/>\r\n",
       "      <use x=\"465.388672\" xlink:href=\"#DejaVuSans-105\"/>\r\n",
       "      <use x=\"493.171875\" xlink:href=\"#DejaVuSans-116\"/>\r\n",
       "      <use x=\"532.380859\" xlink:href=\"#DejaVuSans-105\"/>\r\n",
       "      <use x=\"560.164062\" xlink:href=\"#DejaVuSans-118\"/>\r\n",
       "      <use x=\"619.34375\" xlink:href=\"#DejaVuSans-101\"/>\r\n",
       "      <use x=\"680.867188\" xlink:href=\"#DejaVuSans-32\"/>\r\n",
       "      <use x=\"712.654297\" xlink:href=\"#DejaVuSans-82\"/>\r\n",
       "      <use x=\"782.105469\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "      <use x=\"843.384766\" xlink:href=\"#DejaVuSans-116\"/>\r\n",
       "      <use x=\"882.59375\" xlink:href=\"#DejaVuSans-101\"/>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "   <g id=\"matplotlib.axis_2\">\r\n",
       "    <g id=\"ytick_1\">\r\n",
       "     <g id=\"line2d_7\">\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 0 0 \r\n",
       "L -3.5 0 \r\n",
       "\" id=\"mbc5f35ec66\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n",
       "      </defs>\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#mbc5f35ec66\" y=\"229.874489\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_8\">\r\n",
       "      <!-- 0.0 -->\r\n",
       "      <g transform=\"translate(20.878125 233.673707)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"ytick_2\">\r\n",
       "     <g id=\"line2d_8\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#mbc5f35ec66\" y=\"190.339943\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_9\">\r\n",
       "      <!-- 0.2 -->\r\n",
       "      <g transform=\"translate(20.878125 194.139162)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-50\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"ytick_3\">\r\n",
       "     <g id=\"line2d_9\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#mbc5f35ec66\" y=\"150.805398\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_10\">\r\n",
       "      <!-- 0.4 -->\r\n",
       "      <g transform=\"translate(20.878125 154.604616)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-52\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"ytick_4\">\r\n",
       "     <g id=\"line2d_10\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#mbc5f35ec66\" y=\"111.270852\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_11\">\r\n",
       "      <!-- 0.6 -->\r\n",
       "      <g transform=\"translate(20.878125 115.070071)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-54\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"ytick_5\">\r\n",
       "     <g id=\"line2d_11\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#mbc5f35ec66\" y=\"71.736307\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_12\">\r\n",
       "      <!-- 0.8 -->\r\n",
       "      <g transform=\"translate(20.878125 75.535526)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-56\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"ytick_6\">\r\n",
       "     <g id=\"line2d_12\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#mbc5f35ec66\" y=\"32.201761\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_13\">\r\n",
       "      <!-- 1.0 -->\r\n",
       "      <g transform=\"translate(20.878125 36.00098)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-49\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"text_14\">\r\n",
       "     <!-- True Positive Rate -->\r\n",
       "     <defs>\r\n",
       "      <path d=\"M -0.296875 72.90625 \r\n",
       "L 61.375 72.90625 \r\n",
       "L 61.375 64.59375 \r\n",
       "L 35.5 64.59375 \r\n",
       "L 35.5 0 \r\n",
       "L 25.59375 0 \r\n",
       "L 25.59375 64.59375 \r\n",
       "L -0.296875 64.59375 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-84\"/>\r\n",
       "      <path d=\"M 41.109375 46.296875 \r\n",
       "Q 39.59375 47.171875 37.8125 47.578125 \r\n",
       "Q 36.03125 48 33.890625 48 \r\n",
       "Q 26.265625 48 22.1875 43.046875 \r\n",
       "Q 18.109375 38.09375 18.109375 28.8125 \r\n",
       "L 18.109375 0 \r\n",
       "L 9.078125 0 \r\n",
       "L 9.078125 54.6875 \r\n",
       "L 18.109375 54.6875 \r\n",
       "L 18.109375 46.1875 \r\n",
       "Q 20.953125 51.171875 25.484375 53.578125 \r\n",
       "Q 30.03125 56 36.53125 56 \r\n",
       "Q 37.453125 56 38.578125 55.875 \r\n",
       "Q 39.703125 55.765625 41.0625 55.515625 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-114\"/>\r\n",
       "      <path d=\"M 8.5 21.578125 \r\n",
       "L 8.5 54.6875 \r\n",
       "L 17.484375 54.6875 \r\n",
       "L 17.484375 21.921875 \r\n",
       "Q 17.484375 14.15625 20.5 10.265625 \r\n",
       "Q 23.53125 6.390625 29.59375 6.390625 \r\n",
       "Q 36.859375 6.390625 41.078125 11.03125 \r\n",
       "Q 45.3125 15.671875 45.3125 23.6875 \r\n",
       "L 45.3125 54.6875 \r\n",
       "L 54.296875 54.6875 \r\n",
       "L 54.296875 0 \r\n",
       "L 45.3125 0 \r\n",
       "L 45.3125 8.40625 \r\n",
       "Q 42.046875 3.421875 37.71875 1 \r\n",
       "Q 33.40625 -1.421875 27.6875 -1.421875 \r\n",
       "Q 18.265625 -1.421875 13.375 4.4375 \r\n",
       "Q 8.5 10.296875 8.5 21.578125 \r\n",
       "z\r\n",
       "M 31.109375 56 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-117\"/>\r\n",
       "     </defs>\r\n",
       "     <g transform=\"translate(14.798438 176.584219)rotate(-90)scale(0.1 -0.1)\">\r\n",
       "      <use xlink:href=\"#DejaVuSans-84\"/>\r\n",
       "      <use x=\"60.865234\" xlink:href=\"#DejaVuSans-114\"/>\r\n",
       "      <use x=\"101.978516\" xlink:href=\"#DejaVuSans-117\"/>\r\n",
       "      <use x=\"165.357422\" xlink:href=\"#DejaVuSans-101\"/>\r\n",
       "      <use x=\"226.880859\" xlink:href=\"#DejaVuSans-32\"/>\r\n",
       "      <use x=\"258.667969\" xlink:href=\"#DejaVuSans-80\"/>\r\n",
       "      <use x=\"318.923828\" xlink:href=\"#DejaVuSans-111\"/>\r\n",
       "      <use x=\"380.105469\" xlink:href=\"#DejaVuSans-115\"/>\r\n",
       "      <use x=\"432.205078\" xlink:href=\"#DejaVuSans-105\"/>\r\n",
       "      <use x=\"459.988281\" xlink:href=\"#DejaVuSans-116\"/>\r\n",
       "      <use x=\"499.197266\" xlink:href=\"#DejaVuSans-105\"/>\r\n",
       "      <use x=\"526.980469\" xlink:href=\"#DejaVuSans-118\"/>\r\n",
       "      <use x=\"586.160156\" xlink:href=\"#DejaVuSans-101\"/>\r\n",
       "      <use x=\"647.683594\" xlink:href=\"#DejaVuSans-32\"/>\r\n",
       "      <use x=\"679.470703\" xlink:href=\"#DejaVuSans-82\"/>\r\n",
       "      <use x=\"748.921875\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "      <use x=\"810.201172\" xlink:href=\"#DejaVuSans-116\"/>\r\n",
       "      <use x=\"849.410156\" xlink:href=\"#DejaVuSans-101\"/>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "   <g id=\"line2d_13\">\r\n",
       "    <path clip-path=\"url(#pbf1c0dad0d)\" d=\"M 58.999432 229.874489 \r\n",
       "L 58.999432 222.030333 \r\n",
       "L 58.999432 212.617346 \r\n",
       "L 58.999432 209.479683 \r\n",
       "L 58.999432 204.77319 \r\n",
       "L 60.27292 202.419943 \r\n",
       "L 60.27292 199.282281 \r\n",
       "L 61.546408 196.929034 \r\n",
       "L 61.546408 195.360203 \r\n",
       "L 61.546408 192.222541 \r\n",
       "L 62.819896 190.653709 \r\n",
       "L 62.819896 187.516047 \r\n",
       "L 62.819896 185.1628 \r\n",
       "L 62.819896 182.025138 \r\n",
       "L 64.093384 178.887476 \r\n",
       "L 64.093384 176.534229 \r\n",
       "L 65.366872 174.965398 \r\n",
       "L 65.366872 172.612151 \r\n",
       "L 67.913848 164.767995 \r\n",
       "L 69.187336 163.98358 \r\n",
       "L 70.460824 161.630333 \r\n",
       "L 74.281288 161.630333 \r\n",
       "L 76.828264 155.355008 \r\n",
       "L 79.37524 151.43293 \r\n",
       "L 80.648728 146.726437 \r\n",
       "L 80.648728 144.37319 \r\n",
       "L 81.922216 142.804359 \r\n",
       "L 84.469192 139.666696 \r\n",
       "L 88.289656 138.097865 \r\n",
       "L 89.563144 134.960203 \r\n",
       "L 93.383608 130.253709 \r\n",
       "L 95.930584 128.684878 \r\n",
       "L 98.47756 121.625138 \r\n",
       "L 102.298024 118.487476 \r\n",
       "L 107.391977 113.780982 \r\n",
       "L 111.212441 111.427735 \r\n",
       "L 115.032905 109.858904 \r\n",
       "L 120.126857 108.290073 \r\n",
       "L 120.126857 105.152411 \r\n",
       "L 126.494297 104.367995 \r\n",
       "L 130.314761 102.799164 \r\n",
       "L 131.588249 99.661502 \r\n",
       "L 139.229177 96.523839 \r\n",
       "L 140.502665 94.170593 \r\n",
       "L 146.870105 90.248515 \r\n",
       "L 158.331497 89.464099 \r\n",
       "L 163.425449 87.895268 \r\n",
       "L 167.245913 86.326437 \r\n",
       "L 173.613353 83.97319 \r\n",
       "L 178.707306 82.404359 \r\n",
       "L 181.254282 81.619943 \r\n",
       "L 186.348234 78.482281 \r\n",
       "L 190.168698 73.775787 \r\n",
       "L 191.442186 72.206956 \r\n",
       "L 193.989162 70.638125 \r\n",
       "L 197.809626 66.716047 \r\n",
       "L 204.177066 63.578385 \r\n",
       "L 211.817994 62.793969 \r\n",
       "L 216.911946 62.009554 \r\n",
       "L 219.458922 62.009554 \r\n",
       "L 225.826362 61.225138 \r\n",
       "L 229.646826 61.225138 \r\n",
       "L 236.014266 60.440722 \r\n",
       "L 246.202171 57.30306 \r\n",
       "L 247.475659 55.734229 \r\n",
       "L 253.843099 52.596567 \r\n",
       "L 260.210539 50.24332 \r\n",
       "L 264.031003 48.674489 \r\n",
       "L 267.851467 47.890073 \r\n",
       "L 274.218907 45.536826 \r\n",
       "L 280.586347 45.536826 \r\n",
       "L 289.500763 43.967995 \r\n",
       "L 294.594715 42.399164 \r\n",
       "L 299.688667 42.399164 \r\n",
       "L 304.782619 40.830333 \r\n",
       "L 307.329595 39.261502 \r\n",
       "L 308.603083 38.477086 \r\n",
       "L 311.150059 37.69267 \r\n",
       "L 316.244012 35.339424 \r\n",
       "L 316.244012 34.555008 \r\n",
       "L 320.064476 33.770593 \r\n",
       "L 325.158428 33.770593 \r\n",
       "L 330.25238 33.770593 \r\n",
       "L 335.346332 33.770593 \r\n",
       "L 336.61982 33.770593 \r\n",
       "L 339.166796 33.770593 \r\n",
       "L 339.166796 32.986177 \r\n",
       "L 342.98726 32.986177 \r\n",
       "L 345.534236 32.986177 \r\n",
       "L 346.807724 32.201761 \r\n",
       "L 355.72214 32.201761 \r\n",
       "L 363.363068 32.201761 \r\n",
       "\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-opacity:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"line2d_14\">\r\n",
       "    <path clip-path=\"url(#pbf1c0dad0d)\" d=\"M 58.999432 229.874489 \r\n",
       "L 363.363068 32.201761 \r\n",
       "\" style=\"fill:none;stroke:#ff0000;stroke-dasharray:7.4,3.2;stroke-dashoffset:0;stroke-opacity:0.8;stroke-width:2;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_3\">\r\n",
       "    <path d=\"M 43.78125 239.758125 \r\n",
       "L 43.78125 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_4\">\r\n",
       "    <path d=\"M 378.58125 239.758125 \r\n",
       "L 378.58125 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_5\">\r\n",
       "    <path d=\"M 43.78125 239.758125 \r\n",
       "L 378.58125 239.758125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_6\">\r\n",
       "    <path d=\"M 43.78125 22.318125 \r\n",
       "L 378.58125 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"text_15\">\r\n",
       "    <!-- ROC Curve Random Forest -->\r\n",
       "    <defs>\r\n",
       "     <path d=\"M 39.40625 66.21875 \r\n",
       "Q 28.65625 66.21875 22.328125 58.203125 \r\n",
       "Q 16.015625 50.203125 16.015625 36.375 \r\n",
       "Q 16.015625 22.609375 22.328125 14.59375 \r\n",
       "Q 28.65625 6.59375 39.40625 6.59375 \r\n",
       "Q 50.140625 6.59375 56.421875 14.59375 \r\n",
       "Q 62.703125 22.609375 62.703125 36.375 \r\n",
       "Q 62.703125 50.203125 56.421875 58.203125 \r\n",
       "Q 50.140625 66.21875 39.40625 66.21875 \r\n",
       "z\r\n",
       "M 39.40625 74.21875 \r\n",
       "Q 54.734375 74.21875 63.90625 63.9375 \r\n",
       "Q 73.09375 53.65625 73.09375 36.375 \r\n",
       "Q 73.09375 19.140625 63.90625 8.859375 \r\n",
       "Q 54.734375 -1.421875 39.40625 -1.421875 \r\n",
       "Q 24.03125 -1.421875 14.8125 8.828125 \r\n",
       "Q 5.609375 19.09375 5.609375 36.375 \r\n",
       "Q 5.609375 53.65625 14.8125 63.9375 \r\n",
       "Q 24.03125 74.21875 39.40625 74.21875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-79\"/>\r\n",
       "     <path d=\"M 64.40625 67.28125 \r\n",
       "L 64.40625 56.890625 \r\n",
       "Q 59.421875 61.53125 53.78125 63.8125 \r\n",
       "Q 48.140625 66.109375 41.796875 66.109375 \r\n",
       "Q 29.296875 66.109375 22.65625 58.46875 \r\n",
       "Q 16.015625 50.828125 16.015625 36.375 \r\n",
       "Q 16.015625 21.96875 22.65625 14.328125 \r\n",
       "Q 29.296875 6.6875 41.796875 6.6875 \r\n",
       "Q 48.140625 6.6875 53.78125 8.984375 \r\n",
       "Q 59.421875 11.28125 64.40625 15.921875 \r\n",
       "L 64.40625 5.609375 \r\n",
       "Q 59.234375 2.09375 53.4375 0.328125 \r\n",
       "Q 47.65625 -1.421875 41.21875 -1.421875 \r\n",
       "Q 24.65625 -1.421875 15.125 8.703125 \r\n",
       "Q 5.609375 18.84375 5.609375 36.375 \r\n",
       "Q 5.609375 53.953125 15.125 64.078125 \r\n",
       "Q 24.65625 74.21875 41.21875 74.21875 \r\n",
       "Q 47.75 74.21875 53.53125 72.484375 \r\n",
       "Q 59.328125 70.75 64.40625 67.28125 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-67\"/>\r\n",
       "     <path d=\"M 54.890625 33.015625 \r\n",
       "L 54.890625 0 \r\n",
       "L 45.90625 0 \r\n",
       "L 45.90625 32.71875 \r\n",
       "Q 45.90625 40.484375 42.875 44.328125 \r\n",
       "Q 39.84375 48.1875 33.796875 48.1875 \r\n",
       "Q 26.515625 48.1875 22.3125 43.546875 \r\n",
       "Q 18.109375 38.921875 18.109375 30.90625 \r\n",
       "L 18.109375 0 \r\n",
       "L 9.078125 0 \r\n",
       "L 9.078125 54.6875 \r\n",
       "L 18.109375 54.6875 \r\n",
       "L 18.109375 46.1875 \r\n",
       "Q 21.34375 51.125 25.703125 53.5625 \r\n",
       "Q 30.078125 56 35.796875 56 \r\n",
       "Q 45.21875 56 50.046875 50.171875 \r\n",
       "Q 54.890625 44.34375 54.890625 33.015625 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-110\"/>\r\n",
       "     <path d=\"M 45.40625 46.390625 \r\n",
       "L 45.40625 75.984375 \r\n",
       "L 54.390625 75.984375 \r\n",
       "L 54.390625 0 \r\n",
       "L 45.40625 0 \r\n",
       "L 45.40625 8.203125 \r\n",
       "Q 42.578125 3.328125 38.25 0.953125 \r\n",
       "Q 33.9375 -1.421875 27.875 -1.421875 \r\n",
       "Q 17.96875 -1.421875 11.734375 6.484375 \r\n",
       "Q 5.515625 14.40625 5.515625 27.296875 \r\n",
       "Q 5.515625 40.1875 11.734375 48.09375 \r\n",
       "Q 17.96875 56 27.875 56 \r\n",
       "Q 33.9375 56 38.25 53.625 \r\n",
       "Q 42.578125 51.265625 45.40625 46.390625 \r\n",
       "z\r\n",
       "M 14.796875 27.296875 \r\n",
       "Q 14.796875 17.390625 18.875 11.75 \r\n",
       "Q 22.953125 6.109375 30.078125 6.109375 \r\n",
       "Q 37.203125 6.109375 41.296875 11.75 \r\n",
       "Q 45.40625 17.390625 45.40625 27.296875 \r\n",
       "Q 45.40625 37.203125 41.296875 42.84375 \r\n",
       "Q 37.203125 48.484375 30.078125 48.484375 \r\n",
       "Q 22.953125 48.484375 18.875 42.84375 \r\n",
       "Q 14.796875 37.203125 14.796875 27.296875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-100\"/>\r\n",
       "     <path d=\"M 52 44.1875 \r\n",
       "Q 55.375 50.25 60.0625 53.125 \r\n",
       "Q 64.75 56 71.09375 56 \r\n",
       "Q 79.640625 56 84.28125 50.015625 \r\n",
       "Q 88.921875 44.046875 88.921875 33.015625 \r\n",
       "L 88.921875 0 \r\n",
       "L 79.890625 0 \r\n",
       "L 79.890625 32.71875 \r\n",
       "Q 79.890625 40.578125 77.09375 44.375 \r\n",
       "Q 74.3125 48.1875 68.609375 48.1875 \r\n",
       "Q 61.625 48.1875 57.5625 43.546875 \r\n",
       "Q 53.515625 38.921875 53.515625 30.90625 \r\n",
       "L 53.515625 0 \r\n",
       "L 44.484375 0 \r\n",
       "L 44.484375 32.71875 \r\n",
       "Q 44.484375 40.625 41.703125 44.40625 \r\n",
       "Q 38.921875 48.1875 33.109375 48.1875 \r\n",
       "Q 26.21875 48.1875 22.15625 43.53125 \r\n",
       "Q 18.109375 38.875 18.109375 30.90625 \r\n",
       "L 18.109375 0 \r\n",
       "L 9.078125 0 \r\n",
       "L 9.078125 54.6875 \r\n",
       "L 18.109375 54.6875 \r\n",
       "L 18.109375 46.1875 \r\n",
       "Q 21.1875 51.21875 25.484375 53.609375 \r\n",
       "Q 29.78125 56 35.6875 56 \r\n",
       "Q 41.65625 56 45.828125 52.96875 \r\n",
       "Q 50 49.953125 52 44.1875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-109\"/>\r\n",
       "    </defs>\r\n",
       "    <g transform=\"translate(130.951875 16.318125)scale(0.12 -0.12)\">\r\n",
       "     <use xlink:href=\"#DejaVuSans-82\"/>\r\n",
       "     <use x=\"69.482422\" xlink:href=\"#DejaVuSans-79\"/>\r\n",
       "     <use x=\"148.193359\" xlink:href=\"#DejaVuSans-67\"/>\r\n",
       "     <use x=\"218.017578\" xlink:href=\"#DejaVuSans-32\"/>\r\n",
       "     <use x=\"249.804688\" xlink:href=\"#DejaVuSans-67\"/>\r\n",
       "     <use x=\"319.628906\" xlink:href=\"#DejaVuSans-117\"/>\r\n",
       "     <use x=\"383.007812\" xlink:href=\"#DejaVuSans-114\"/>\r\n",
       "     <use x=\"424.121094\" xlink:href=\"#DejaVuSans-118\"/>\r\n",
       "     <use x=\"483.300781\" xlink:href=\"#DejaVuSans-101\"/>\r\n",
       "     <use x=\"544.824219\" xlink:href=\"#DejaVuSans-32\"/>\r\n",
       "     <use x=\"576.611328\" xlink:href=\"#DejaVuSans-82\"/>\r\n",
       "     <use x=\"646.0625\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "     <use x=\"707.341797\" xlink:href=\"#DejaVuSans-110\"/>\r\n",
       "     <use x=\"770.720703\" xlink:href=\"#DejaVuSans-100\"/>\r\n",
       "     <use x=\"834.197266\" xlink:href=\"#DejaVuSans-111\"/>\r\n",
       "     <use x=\"895.378906\" xlink:href=\"#DejaVuSans-109\"/>\r\n",
       "     <use x=\"992.791016\" xlink:href=\"#DejaVuSans-32\"/>\r\n",
       "     <use x=\"1024.578125\" xlink:href=\"#DejaVuSans-70\"/>\r\n",
       "     <use x=\"1082.050781\" xlink:href=\"#DejaVuSans-111\"/>\r\n",
       "     <use x=\"1143.232422\" xlink:href=\"#DejaVuSans-114\"/>\r\n",
       "     <use x=\"1184.314453\" xlink:href=\"#DejaVuSans-101\"/>\r\n",
       "     <use x=\"1245.837891\" xlink:href=\"#DejaVuSans-115\"/>\r\n",
       "     <use x=\"1297.9375\" xlink:href=\"#DejaVuSans-116\"/>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "   <g id=\"legend_1\">\r\n",
       "    <g id=\"patch_7\">\r\n",
       "     <path d=\"M 215.971875 234.758125 \r\n",
       "L 371.58125 234.758125 \r\n",
       "Q 373.58125 234.758125 373.58125 232.758125 \r\n",
       "L 373.58125 204.401875 \r\n",
       "Q 373.58125 202.401875 371.58125 202.401875 \r\n",
       "L 215.971875 202.401875 \r\n",
       "Q 213.971875 202.401875 213.971875 204.401875 \r\n",
       "L 213.971875 232.758125 \r\n",
       "Q 213.971875 234.758125 215.971875 234.758125 \r\n",
       "z\r\n",
       "\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\r\n",
       "    </g>\r\n",
       "    <g id=\"line2d_15\">\r\n",
       "     <path d=\"M 217.971875 210.500312 \r\n",
       "L 237.971875 210.500312 \r\n",
       "\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-opacity:0.8;\"/>\r\n",
       "    </g>\r\n",
       "    <g id=\"line2d_16\"/>\r\n",
       "    <g id=\"text_16\">\r\n",
       "     <!-- ROC Curve (AUC = 0.78) -->\r\n",
       "     <defs>\r\n",
       "      <path d=\"M 31 75.875 \r\n",
       "Q 24.46875 64.65625 21.28125 53.65625 \r\n",
       "Q 18.109375 42.671875 18.109375 31.390625 \r\n",
       "Q 18.109375 20.125 21.3125 9.0625 \r\n",
       "Q 24.515625 -2 31 -13.1875 \r\n",
       "L 23.1875 -13.1875 \r\n",
       "Q 15.875 -1.703125 12.234375 9.375 \r\n",
       "Q 8.59375 20.453125 8.59375 31.390625 \r\n",
       "Q 8.59375 42.28125 12.203125 53.3125 \r\n",
       "Q 15.828125 64.359375 23.1875 75.875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-40\"/>\r\n",
       "      <path d=\"M 34.1875 63.1875 \r\n",
       "L 20.796875 26.90625 \r\n",
       "L 47.609375 26.90625 \r\n",
       "z\r\n",
       "M 28.609375 72.90625 \r\n",
       "L 39.796875 72.90625 \r\n",
       "L 67.578125 0 \r\n",
       "L 57.328125 0 \r\n",
       "L 50.6875 18.703125 \r\n",
       "L 17.828125 18.703125 \r\n",
       "L 11.1875 0 \r\n",
       "L 0.78125 0 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-65\"/>\r\n",
       "      <path d=\"M 8.6875 72.90625 \r\n",
       "L 18.609375 72.90625 \r\n",
       "L 18.609375 28.609375 \r\n",
       "Q 18.609375 16.890625 22.84375 11.734375 \r\n",
       "Q 27.09375 6.59375 36.625 6.59375 \r\n",
       "Q 46.09375 6.59375 50.34375 11.734375 \r\n",
       "Q 54.59375 16.890625 54.59375 28.609375 \r\n",
       "L 54.59375 72.90625 \r\n",
       "L 64.5 72.90625 \r\n",
       "L 64.5 27.390625 \r\n",
       "Q 64.5 13.140625 57.4375 5.859375 \r\n",
       "Q 50.390625 -1.421875 36.625 -1.421875 \r\n",
       "Q 22.796875 -1.421875 15.734375 5.859375 \r\n",
       "Q 8.6875 13.140625 8.6875 27.390625 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-85\"/>\r\n",
       "      <path d=\"M 10.59375 45.40625 \r\n",
       "L 73.1875 45.40625 \r\n",
       "L 73.1875 37.203125 \r\n",
       "L 10.59375 37.203125 \r\n",
       "z\r\n",
       "M 10.59375 25.484375 \r\n",
       "L 73.1875 25.484375 \r\n",
       "L 73.1875 17.1875 \r\n",
       "L 10.59375 17.1875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-61\"/>\r\n",
       "      <path d=\"M 8.203125 72.90625 \r\n",
       "L 55.078125 72.90625 \r\n",
       "L 55.078125 68.703125 \r\n",
       "L 28.609375 0 \r\n",
       "L 18.3125 0 \r\n",
       "L 43.21875 64.59375 \r\n",
       "L 8.203125 64.59375 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-55\"/>\r\n",
       "      <path d=\"M 8.015625 75.875 \r\n",
       "L 15.828125 75.875 \r\n",
       "Q 23.140625 64.359375 26.78125 53.3125 \r\n",
       "Q 30.421875 42.28125 30.421875 31.390625 \r\n",
       "Q 30.421875 20.453125 26.78125 9.375 \r\n",
       "Q 23.140625 -1.703125 15.828125 -13.1875 \r\n",
       "L 8.015625 -13.1875 \r\n",
       "Q 14.5 -2 17.703125 9.0625 \r\n",
       "Q 20.90625 20.125 20.90625 31.390625 \r\n",
       "Q 20.90625 42.671875 17.703125 53.65625 \r\n",
       "Q 14.5 64.65625 8.015625 75.875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-41\"/>\r\n",
       "     </defs>\r\n",
       "     <g transform=\"translate(245.971875 214.000312)scale(0.1 -0.1)\">\r\n",
       "      <use xlink:href=\"#DejaVuSans-82\"/>\r\n",
       "      <use x=\"69.482422\" xlink:href=\"#DejaVuSans-79\"/>\r\n",
       "      <use x=\"148.193359\" xlink:href=\"#DejaVuSans-67\"/>\r\n",
       "      <use x=\"218.017578\" xlink:href=\"#DejaVuSans-32\"/>\r\n",
       "      <use x=\"249.804688\" xlink:href=\"#DejaVuSans-67\"/>\r\n",
       "      <use x=\"319.628906\" xlink:href=\"#DejaVuSans-117\"/>\r\n",
       "      <use x=\"383.007812\" xlink:href=\"#DejaVuSans-114\"/>\r\n",
       "      <use x=\"424.121094\" xlink:href=\"#DejaVuSans-118\"/>\r\n",
       "      <use x=\"483.300781\" xlink:href=\"#DejaVuSans-101\"/>\r\n",
       "      <use x=\"544.824219\" xlink:href=\"#DejaVuSans-32\"/>\r\n",
       "      <use x=\"576.611328\" xlink:href=\"#DejaVuSans-40\"/>\r\n",
       "      <use x=\"615.625\" xlink:href=\"#DejaVuSans-65\"/>\r\n",
       "      <use x=\"684.033203\" xlink:href=\"#DejaVuSans-85\"/>\r\n",
       "      <use x=\"757.226562\" xlink:href=\"#DejaVuSans-67\"/>\r\n",
       "      <use x=\"827.050781\" xlink:href=\"#DejaVuSans-32\"/>\r\n",
       "      <use x=\"858.837891\" xlink:href=\"#DejaVuSans-61\"/>\r\n",
       "      <use x=\"942.626953\" xlink:href=\"#DejaVuSans-32\"/>\r\n",
       "      <use x=\"974.414062\" xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "      <use x=\"1038.037109\" xlink:href=\"#DejaVuSans-46\"/>\r\n",
       "      <use x=\"1069.824219\" xlink:href=\"#DejaVuSans-55\"/>\r\n",
       "      <use x=\"1133.447266\" xlink:href=\"#DejaVuSans-56\"/>\r\n",
       "      <use x=\"1197.070312\" xlink:href=\"#DejaVuSans-41\"/>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"line2d_17\">\r\n",
       "     <path d=\"M 217.971875 225.178437 \r\n",
       "L 237.971875 225.178437 \r\n",
       "\" style=\"fill:none;stroke:#ff0000;stroke-dasharray:7.4,3.2;stroke-dashoffset:0;stroke-opacity:0.8;stroke-width:2;\"/>\r\n",
       "    </g>\r\n",
       "    <g id=\"line2d_18\"/>\r\n",
       "    <g id=\"text_17\">\r\n",
       "     <!-- Chance -->\r\n",
       "     <defs>\r\n",
       "      <path d=\"M 54.890625 33.015625 \r\n",
       "L 54.890625 0 \r\n",
       "L 45.90625 0 \r\n",
       "L 45.90625 32.71875 \r\n",
       "Q 45.90625 40.484375 42.875 44.328125 \r\n",
       "Q 39.84375 48.1875 33.796875 48.1875 \r\n",
       "Q 26.515625 48.1875 22.3125 43.546875 \r\n",
       "Q 18.109375 38.921875 18.109375 30.90625 \r\n",
       "L 18.109375 0 \r\n",
       "L 9.078125 0 \r\n",
       "L 9.078125 75.984375 \r\n",
       "L 18.109375 75.984375 \r\n",
       "L 18.109375 46.1875 \r\n",
       "Q 21.34375 51.125 25.703125 53.5625 \r\n",
       "Q 30.078125 56 35.796875 56 \r\n",
       "Q 45.21875 56 50.046875 50.171875 \r\n",
       "Q 54.890625 44.34375 54.890625 33.015625 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-104\"/>\r\n",
       "      <path d=\"M 48.78125 52.59375 \r\n",
       "L 48.78125 44.1875 \r\n",
       "Q 44.96875 46.296875 41.140625 47.34375 \r\n",
       "Q 37.3125 48.390625 33.40625 48.390625 \r\n",
       "Q 24.65625 48.390625 19.8125 42.84375 \r\n",
       "Q 14.984375 37.3125 14.984375 27.296875 \r\n",
       "Q 14.984375 17.28125 19.8125 11.734375 \r\n",
       "Q 24.65625 6.203125 33.40625 6.203125 \r\n",
       "Q 37.3125 6.203125 41.140625 7.25 \r\n",
       "Q 44.96875 8.296875 48.78125 10.40625 \r\n",
       "L 48.78125 2.09375 \r\n",
       "Q 45.015625 0.34375 40.984375 -0.53125 \r\n",
       "Q 36.96875 -1.421875 32.421875 -1.421875 \r\n",
       "Q 20.0625 -1.421875 12.78125 6.34375 \r\n",
       "Q 5.515625 14.109375 5.515625 27.296875 \r\n",
       "Q 5.515625 40.671875 12.859375 48.328125 \r\n",
       "Q 20.21875 56 33.015625 56 \r\n",
       "Q 37.15625 56 41.109375 55.140625 \r\n",
       "Q 45.0625 54.296875 48.78125 52.59375 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-99\"/>\r\n",
       "     </defs>\r\n",
       "     <g transform=\"translate(245.971875 228.678437)scale(0.1 -0.1)\">\r\n",
       "      <use xlink:href=\"#DejaVuSans-67\"/>\r\n",
       "      <use x=\"69.824219\" xlink:href=\"#DejaVuSans-104\"/>\r\n",
       "      <use x=\"133.203125\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "      <use x=\"194.482422\" xlink:href=\"#DejaVuSans-110\"/>\r\n",
       "      <use x=\"257.861328\" xlink:href=\"#DejaVuSans-99\"/>\r\n",
       "      <use x=\"312.841797\" xlink:href=\"#DejaVuSans-101\"/>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "  </g>\r\n",
       " </g>\r\n",
       " <defs>\r\n",
       "  <clipPath id=\"pbf1c0dad0d\">\r\n",
       "   <rect height=\"217.44\" width=\"334.8\" x=\"43.78125\" y=\"22.318125\"/>\r\n",
       "  </clipPath>\r\n",
       " </defs>\r\n",
       "</svg>\r\n"
      ],
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "'''\n",
    "    ROC CURVE\n",
    "'''\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "\n",
    "# Create an ROC Curve plot.\n",
    "rfc_disp = plot_roc_curve(rand_frst_clf, X_test, y_test, alpha = 0.8, name='ROC Curve', lw=1, ax=ax)\n",
    "\n",
    "# Add our Chance Line\n",
    "ax.plot([0, 1], [0, 1], linestyle='--', lw=2, color='r', label='Chance', alpha=.8)\n",
    "\n",
    "# Make it look pretty.\n",
    "ax.set(xlim=[-0.05, 1.05], ylim=[-0.05, 1.05], title=\"ROC Curve Random Forest\")\n",
    "\n",
    "# Add the legend to the plot\n",
    "ax.legend(loc=\"lower right\")\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "file_extension": ".py",
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  },
  "mimetype": "text/x-python",
  "name": "python",
  "npconvert_exporter": "python",
  "pygments_lexer": "ipython3",
  "version": 3
 },
 "nbformat": 4,
 "nbformat_minor": 2
}